초보자의 AWS 경험기
NodeJS와 Nginx 프록시
보통 NodeJS를 이용해서 Front-end 서버를 이용하는 경우에는 3000 port를 사용하고 API 서버는 잘 사용하지 않는 Port를 이용하는 경우가 많다. ( 물론 이것도 굉장히 주관적이고 프로젝트에 따라서 다르니 참고만 하면 된다. )
일단 기본적으로 AWS의 인바운드 규칙에 3000에 대해서 포트를 열어놨다라는 가정하에 진행합니다.
Nodejs 서버 기본 세팅
일단 기본적으로 NodeJS에서는 express를 이용하여 서버를 띄우는 데 이때 3000번을 사용합니다.
1 | const express = require("express"); |
그렇게 되면 현재 Node 서버는 3000에 대해 Listen하고 있는 상태입니다.
Nginx 서버 기본 세팅
기본적으로는 Nginx는 기본 80번 포트로 설정되어 있다. 이 때 사용자가 url을 치고 들어왔을때, nginx에서 3000번으로 보내주면 된다. 그러게 하기 위해선 일단 nginx의 config를 수정해야한다.
1 | $ sudo vi /etc/nginx/conf.d/default.conf |
sudo권한으로 config 설정파일로 들어가면 기본 설정으로 location에 아래와 같이 되어 있다.
1 | location / { |
그 부분을 주석 처리 한후, 하단에 proxy 설정을 붙여넣는다. 위에서 nodejs 포트를 3000으로 설정해줘서 여기에서도 마찬가지로 3000번으로 넣어줬다. 만약 Port를 다르게 이용한다면 그 부분만 확인해서 수정하면 된다.
1 | location / { |
1 | sudo service nginx restart |
위와 같이 설정한 후 nginx 서버를 재실행하면 url로 치고 들어갈 때 뒤에 포트를 안붙여도 들어가지는 것을 볼 수 있다.
현재 이커머스회사에서 frontend 개발자로 업무를 진행하고 있는 Martin 입니다. 글을 읽으시고 궁금한 점은 댓글 혹은 메일(hoons0131@gmail.com)로 연락해주시면 빠른 회신 드리도록 하겠습니다. 이 외에도 네트워킹에 대해서는 언제나 환영입니다.:Martin(https://github.com/martinYounghoonKim)