TIL : 게시판 서버 기능 구현 3)마지막!

ESH'S VELOG·2023년 6월 19일
0

Cannot get 을 해결하기 위한 과정

1) Guestbook 디렉터리에 들어가 node app.js실행했을 때 4000번 포트가 연결되었다는 신호를 받은 것을 확인, ls를 쳤을 때 app.js / nodemodules / package-lock.json / package.js / routes / schemas 가 있는 것을 확인, 주소창에 43.201.255.70:4000치면 cannot get 뜸

2) EC2 인스턴스 상태: 보안 인바운드 규칙 4000 TCP anywhere / 80 HTTP anywhere / 22 TCP anywhere 43.201.255.70 치면 여전히 cannot get뜸 다시 43.201.255.70:4000/api/post 치니까 빈 배열이 뜸 [] => 3T와 연결이 안된것으로 추정

3) Mongodb가 열려있는지 확인 -> 다시 주소에 치니까 빈 배열뜸

4) 매니저님께서 local저장소와 서버는 다른 것을 공유하고 있으니 작성을 해보라고 하셨다. 작성을 서버에서 어떻게 하나 싶었는데 VS Code를 통해서 thunderclient로 똑같이 작성하면 되고 주소를 아이피주소로만 바꿔서 하면 된다. 아래와 같이

5) 가비아에서 받은 도메인주소와 연결하기
아래와 같이 연결은 됐으나 4000번 포트를 입력해야지 들어갈 수 있다. 이 부분은 iptable명령어를 사용하여 다시 재 설정해볼 예정이다.

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
80번 포트로 들어오는 요청을 4000번 포트로 전달하도록 하는 규칙
여전히 :4000을 입력해야만 받아올 수 있다. 80번으로 해도 안됨

6) 꺼지지 않는 서버 만들기
명령어 sudo -s : 관리자 권한으로 바꾸기 치고 나면 앞글자가 root~로 시작하게된다.
명령어 npm install -g pm2 : pm2를 전역 프로그램으로 설치하겠다는 의미
명령어 pm2 start app.js : pm2로 app.js를 실행
명령어 pm2 list : 실행중인 프로젝트 리스트를 볼 수 있음
 나는 이 명령어를 실행하니까 4000포트에서 실행중입니다 라는 메시지가 뜨고 그 다음 exit를 입력하여 터미널을 종료하여도 실행되는 것을 확인하였다.

profile
Backend Developer - Typescript, Javascript 를 공부합니다.

0개의 댓글