POSTMAN CRUD 해보기
교수님 Github clone + 아래 작성
req.params
/api/comment/1 or 2 3 4 ... 여기서 특정한 값만 쓸 때
id 값 가변적으로 변함 -> /:[변수명] -> 이렇게 쓰면 변수명으로 받을 수 있다.
postman url send 할 때 url 끝에 id 값을 적어주기
이제 서버에 올리기
터미널 두 개 만들기
1. local-back
2. server-back
현재 경로까지 들어와서(반드시 현재위치 back까지 들어온 후) ssh 복붙 -> 초록색 계정명@주소: 디렉토리 $ (커서) 가 나옴
~ -> home/계정명
최상위 파일로 가는 명령어
cd ~
or (둘 중 하나 선택)
cd /home/ubuntu
윈도우 -> \ 역슬래시로 경로 구분
리눅스 -> / 슬래시로 경로 구분
홈 디렉토리 확인하기
ls (숨긴파일 제외 후 보여줘)
ls -al (숨긴 파일까지 모조리 보여줘!)
리눅스는 파일 . 이 붙으면 숨김 파일이라는 뜻 !!
-
교수님 clone해와서 github 주소가 달라짐
파일 삭제하기
rm [옵션] 디렉토리 or 파일명
옵션 중 : -r 이 있음 / 뜻 : 하위 폴더도 삭제하겠다!
-rf 파일 관한 상관없이 강제적으로 실행 시키겠다 !
f 는 꼭 ,,, 조심해서 쓰기!!! 지워지면 복구가 안됨
/슬러시의 뜻 : 절대경로
rm -rf ./파일명
rm -rf /home/ubuntu/파일명
아래 명령어를 사용하면 디자스터..
rm -rf /
/home/ubuntu 에 설치해야함. -> 여기에 awsTest [파일명] 이 생긴다. (폴더를 만들고 넣는게 X)
https://github.com/ingoo-code/awsTest.git
git clone ~주소
ls // 파일 확인
cd [파일명]
npm install
서버 실행시키기 -> 에러 (db없대)
mysql 접속해서 react_comment 데이터 베이스 생성해주기
mysql -uroot -proot
create database react_comment;
show databases; //db확인
mariaDB 나가기
ctrl + c
서버 실행
sudo node server.js
* mysql 패스워드는 ubuntu에서 설치한 패스워드로 입력해주기 &***
원격에 server올리고 db접속도 안한 상태
근데 우리는 pw가 틀려서 접속이 안될 수도 있다.
그럼 아래 config로 들어가서 vi 에디터 키고 i누르고 비밀번호 수정 후 shift + : wq! 눌러서 나오기
cd .. //뒤로 가기
node server.js // 서버 실행
80번 포트로 바꾸기
vi server.js
i -> 3000-> 80수정
esc
shift + : wq!
node server.js -> 오류남 (server실행은 sudo 관리자만 !)
프로세스 안에 쓰레드가 있음
프로세스 : 하나의 파일의 실행 (무조건 port 가 있다) ex) mysql 3306
* config에 원래 "port":3306이 있어야하는데 보통 당연한 (?) 포트 번호라서 생략함
127.0.0.1 == localhost == 내 컴퓨터를 뜻함
다른 컴퓨터 -> 다른 컴퓨터 요청할 때 port 별로
수 많은 컴퓨터들이 ec? server 로 연결
http port 80은 mysql 보다 한 단계 업그레이드 된 것 (열리면 해킹, 보안 위험)
port 1~ 1500번까지 리눅스가 막아놓음 (sudo로 실행해야한다.) => 그래서 우리가 테스트할 때 3000번을 씀
sudo node serverl.js
-> 오류 80포트 실행 중이다.
sudo npx pm2 kill
sudo node server.js
브라우저 들어가보기
POSTMAN 에서 아래 시도해보기
mysql 들어가서 db 확인해보기
mysql -uroot -proot
나중에 pm2 로 돌릴 것 - 아직은 노노
아마존 인스턴트 꺼놓기 한달에 750시간이면 요금 발생 (모든 인스턴트의 시간 합해서)
=> 여기까지 api, hosting 해봄 -> 그동안 프로젝트 올려볼 수 있음 !! !
Back end 끝
Back에서 설치한 것
node.js / mysql
Front server 설치할 것
node.js / NginX
NginX의 등장..
Webpack != server
webpack은 js, css 등등의 파일들을....하나로 만들은 것
그럼 dev server는 ? -> 개발 서버 -> 실질적으로 올리는 서버가 X
80번 포트 - html 만 가져오면됨 - html 안에 js, css 가 있음
리액트로 만들어진 파일은 html, js, css 총 세가지의 파일만 필요하다.
80번 포트를 열게끔 해주는 아이가 NginX
Node.js 에서 express도 가능하지 않을까요 ? 가능해요 가능은 합니다.
NginX 다음에 배울 리덕스와 관련있어서 이걸로 하는 것 + 실무에서 많이 씀
NginX 통해 port 80을 열것이다.
NginX 환경설정,,,
setting...그만,,
FRONT
1. 새 인스턴스 생성
2. vs 터미널 파워셀 'front' 생성
3. vs 터미널 front 로 경로 설정
4. ssh 복붙 - 리눅스 들어가기
5. node.js 설치
목차 2번
https://blckchainetc.tistory.com/275
6. NginX 설치
sudo apt-get install nginx
7. NginX 환경설정
위의 명령어로 etc/nginx 가 생김
cd /etc/nginx //들어가기
ls -al //파일 확인
중요한 3가지 폴더
nginx.conf : 설정 파일(text파일) (vi nginx.conf 로 들어가서 구경해봐봐! ##은 주석 )
sites-available (폴더다! - 앞에 d 가 달려있음 ) : 설정 파일 저장소
환경설정할 거를 다 만들어 놓기
sites-enabled (폴더) : 설정 파일을 실행시키는 아이
윈도우로 -> 바로가기로 만들어서 실행시킴 (리눅스 명령어 : symbolic link = 윈도우의 바탕화면에 바로가기 파일과 같다)
<step>
1. sites-available 설정파일 만들기
2. sites-enabled 바로가기 세팅하기
3. nginx 실행
명령어
cp : copy - 폴더나 파일 복사
mv : move - 폴더나 파일을 이동시키기
리눅스는 기본적으로 보안이 좋다 ~ 라고 생각되어지고 있음
unix(유료), linux(무료), window (유료)
unix != linux
linux는 unix틀을 가지고 와서 공짜로 배포
계정에 따른 권한들이 잘 설정되어 있음
소유권이 root이면 최고 관리자 : 그럼 해당 파일은 최고관리자만 only 수정할 수 있다.
cp 사용법
cp -r [기존디렉토리] [변경할 디렉토리]
* -r 하위 폴더도 포함
sudo cp -r /etc/nginx/sites-available /etc/nginx/sites-available-backup
sudo cp -r /etc/nginx/sites-enabled/ etc/nginx/sites-enabled-backup
이제 폴더 안으로 들어갈 것
cd sites-available
default 파일을 지울 것
최고관리자로 실행, 하위가없어서 -r 옵션 없어도 됨
sudo rm default
cd ..
cd sties-enabled
ls -al // 확인 -> default 역시 지워주기
sudo rm default
ls -al // 잘 삭제되었는지 확인
sites-available 안에 설정 파일 만들기
cd .. //해당 파일로 다시 들어가야해서 나오기 -> 들어가기
cd sites-available
text 파일 하나 생성하기
* vi 파일이 있으면 읽고 / 없으면 이 파일명으로 생성
현재 디렉토리는 최고 관리자 권한이라서 ubuntu 가 아닌 최고 관리자 sudo로 ㄱ ㄱ
sudo vi myapp.conf
try_files $uri ... -> 이 부분은 리액트 url 변경 방지
작성하고 esc -> shift + : wq!
설정 파일 저장한 상태
sites-enabled 로 파일을 '바로가기'로 만들어서 옮길거야 -> 요게 리눅스에서 '심볼릭 링크' 라고 불린다.
바로가기 만들기
sudo ln -s [기존디렉토리] [바로가기 만들 디렉토리]
sudo ln -s ./myapp.conf /etc/nginx/sites-enabled/myapp.conf // -> 오류남 ! 아래걸로 ㄱ ㄱ !
// 바로가기가 잘 만들어졌는지 확인하러가기
cd ..
cd ./sites-enabled
ls -al
nginx 잘 작동되는지 test
sudo nginx -t v
뭔가 오류가 있..
cd sites-enabled
sudo rm myapp.conf
ls -al // 잘 삭제되었나 확인
sudo ln -s /etc/nginx/sites-available/myapp.conf /etc/nginx/sites-enabled/myapp.conf
cd ..
ls // 확인
sudo nginx -t // nginx 잘 있는지 확인
start로 실행시켜보기
sudo systemctl start nginx
인스턴스가서 public IP 주소 브라우저에 입력 -> 성공 !
nginx 끄기
sudo systemctl stop nginx
교수님이 알려주시는 걸 따라할 수는 있지만 다른 프로그램 환경설정을 혼자하게된다면 어떡하지?????????????