오늘 배운 내용 목차
1. postman CRUD
2. server에 올리기 (aws-back or server-back)
3. front server - node.js / NginX 설치 , 세팅
1. postman CRUD
https://blckchainetc.tistory.com/278
2. aws - back server에 올리기
1) 터미널 server-back, local-back 두 개 만들기
2) 경로 체크 ** 폴더 back 까지 들어오기 (server실행할 폴더)
3) amazon 실행 중인 인스턴스 ssh 복붙 입력
=> 초록색 계정명 @ 주소 : 디렉토리 $ (커서) 가 나오면 성공 !
리눅스 명령어
ls // 숨긴파일 제외하고 파일들 보여줘
ls -al // 숨긴파일들까지 보여줘! 숨긴파일들은 . 쩜으로 시작함
exit // ubuntu 터미널에서 나가기
pwd // 현재 위치 보여주기
cd // 파일 or 폴더 copy 복사
cp -r(옵션) [기존 디렉토리] [변경할 디렉토리]
mv // 파일 or 폴더 move 이동
mv [옵션] [기존디렉토리] [변경할 디렉토리]
ln // 파일 or 폴더 바로가기 만들기
ln [옵션] [기존디렉토리] [바로가기 만들 디렉토리]
mkdir //폴더 생성
mkdir [폴더명]
ps -ef | grep [찾을 프로세스명\
kill -9 [pid]
nginx 관련 명령어
sudo systemctl stop nginx
sudo systemctl start nginx
sudo systemctl restart nginx
sudo systemctl status nginx
옵션 :
-r - 하위 폴더 포함
-rf - 강제적으로 실행
** f 가 들어간건 꼮 조심해서 쓰기 !!!!복구가 안됨 !!!
/ 슬래시의 뜻 : 절대경로
리눅스 폴더 or 파일 삭제 명령어
rm [옵션] [디렉토리or파일명] // 폴더 or 파일 삭제하기
rm -rf ./파일명
rm -rf / home/ubuntu/파일명
절대 하면 안되는 명령어
rm -rf / // 전부 날아감~
- 최상위 파일로 가는 명령어 두가지
cd ~
cd /home/ubuntu
~ 물결 표시
/ 슬래시 확인
~ 물결 표시 상태에서 pwd 현재 위치를 보면
/home/ubuntu 가 나온다.
/ 로 들어가서 pwd 를 보면
/ 가 나온다.
경로에 있어서 윈도우는 \ 백슬래시, 리눅스는 / 슬래시 사용!
~ 물결 표시는 현재 위치가 home/ubuntu 를 뜻하는 것 같음
현재 ls 를 해보면 awsTest 파일이 보임! 요걸 삭제하고 나의 github clone 해오기 !
삭제 * 주의
rm -rf ./awsTest
** 경로 home/ubuntu 에 git clone
git clone [github주소]
ls // 파일 잘 clone되었는지 확인
cd [파일명] // 해당 파일로 들어가기
npm install // 필요한 npm 설치
server 실행
node server.js
ERROR ! mysql 비밀번호 틀림
ls // config 파일 있는지 쳌
cd config // config 파일로 입장
ls // config 파일 안에 파일 - package.json 확인
vi config.json // config.json 에디터 열기
i // i누르고 INSERT mode -> 비밀번호 수정 (리눅스 설정했을 떄의 mysql 비밀번호 **! )
esc // 편집 끝내기
shift + : wq! // 에디터 탈출
vi config.json // 잘 변경되었는지 확인 (가끔 안될 때 있음)
cd .. // 다시 원래 파일로 돌아오기 (나가기)
node server.js // 서버 실행
ERROR ! DB database 없음
만약 에러 문구가 DB database가 없다고 나온다면 → DB react_comment DB 생성해주기
mysql -uroot -proot
create database react_comment;
show databases; // db 확인
ctrl + c // mysql 나가기
다시 server 실행
node server.js
-> DB 성공 -> Public IP 브라우저 입력 -> 오류 (제발 그만)
server.js 의 포트를 리눅스로 80번으로 바꾸기
vi server.js
i // 3001 -> 80 편집
esc
shitf + : wq!
서버 재실행
node server.js
오 류rrrrrrrrrr
port 1~1500번까지 리눅스가 막아 놓음 (오직 sudo최고관리자 명령으로만 실행되게 ! ) -> 그래서 우리가 보통 test server 만들 때 3000을 썼음
http port 80번은 mysql보다 한 단계 업그레이드 된 것 (열리면 보안 위험, ex.해킹 )
위의 이유로 sudo 를 붙여서 서버 실행
sudo node server.js
=> public IP 브라우저 창에 입력 => 나왔다 !
server.js 에서 app.get('/')요 부분 코드가 실행되서 db에서 모든 정보 찾아서 json으로 출력쓰
app.get('/', async (req,res, next)=>{
console.log(Comment)
try{
const data = await Comment.findAll({})
res.json(data)
}catch(e){
console.error(e)
next(e)
}
})
리눅스 port 이미 실행중 ERROR
만약 port 80번 이미 실행중이라는 오류가 뜨면 -> 이전에 pm2로 돌려놓은게 있어서 -> kill it !
sudo npx pm2 kill
sudo node server.js
postman 으로 create 해보기
생긴다 ! !
그리고 나의 mysql 에는 안생기는데 ubuntu 안의 mysql에는 db가 생긴다
mysql 확인해보기
mysql -uroot -proot
use react_comment;
show tables;
select * from Comments;
나중에는 pm2 로 돌려 놓는다고,,, 아직은 X
=> 여기까지가 api, hosting back-end 끝
back-end 에서 설치한 것 : Node.js , mysql
front-end 에서 설치할 것 : Node.js, NginX
FRONT Server 설치 / 환경설정
https://blckchainetc.tistory.com/281