본문 바로가기

백엔드

[백엔드] Nginx 개념 및 설정 방법

Nginx

Nginx는 로드 밸런스 처리에 특화된 웹 서버 프로그램이다. Nginx를 서버 앞 단에 두어 Express가 사용하는 실제 포트를 숨기고 Nginx의 80번 포트를 통해 Reverse proxing 함으로써 보안 이슈를 방지하고, Nginx의 여러 기능도 사용할 수 있다.

Reverse proxy란 사용자가 실제 서버의 정보를 알지 못하게 함을 의미한다. 사용자들이 서버에 요청한 내용을 리버스 프록시가 배후의 서버에서 응답 데이터를 받아와 다시 사용자에게 전송한다..

 

 

노드 서버가 3000번 포트에서 실행 중이며, 도메인을 발급받은 경우 Nginx를 설정하는 방법

1. 설치

$ sudo apt-get update
$ sudo apt-get install nginx

 

2. 브라우저를 통해 서버의 아이피 주소로 접속하여 아래와 같은 화면이 나오면 성공적인 설치.

 

3. 프록시 설정

$ cd /etc/nginx/sites-available/
$ vi [example]

/etc/nginx/sites-available/ 디렉토리로 이동한 뒤 아무 이름으로 편집기를 생성한다. (default 파일은 남겨두어도 됨.)

 

위와 같이 작성한다. 해당 코드의 의미는 80번 포트로의 요청은 로컬의 3000번 포트로 요청을 처리한다는 의미이다.

server_name에는 구매한 도메인을 작성하면 된다.

 

 

site-enabled 디렉토리에 [example] 파일을 링크(ln)를 통해 생성 및 연결한다.

$ sudo ln -s /etc/nginx/sites-available/[example] /etc/nginx/sites-enabled/

 

 

마지막으로 nginx를 재시작 해준다.

$ sudo service nginx restart

 

이후 브라우저를 통해 등록한 도메인을 입력하면 정상적으로 서버가 작동하는 것을 확인할 수 있다.