[AWS+배포] Nginx 설치 & 포트포워딩

Nginx 설치 & 포트포워딩

Nginx를 설치하고 서버에 접속하면 바로 연결할 포트포워딩을 해보자.

Nginx 설치

sudo apt-get install nginx

명령어를 이용해 우분투에 설치한다.
1

위와 같이 여러 메시지와 함께 nginx가 설치된다.

Nginx 실행 & 접속

$ sudo service nginx start

해당 명령어로 nginx를 실행시켜 준 뒤, IP 주소로 접속해 준다.

IP 주소로 접속

2

위와 같은 화면이 나오면 nginx가 성공적으로 설치되고 실행된 것이다.
(EC2라면 포트 번호 80번에 대한 접근이 허용돼있어야 한다.)

포트포워딩 설정

Nginx가 실행되면 디폴트 포트인 80번에 접속하면 자동으로 Nginx 페이지가 나온다.
Nginx를 사용하는 목적은 원할 때 Nginx가 바라보는 포트를 변경하는 리버스 프록시를 적용하는 것이기 때문에, 설정으로 기본 ip에 접속했을 때 Nginx가 실행 중인 서버의 포트로 접속할 수 있도록 해주자.

$ sudo vi /etc/nginx/nginx.conf

이 명령어로 nginx 설정 파일을 열어보자.

3
server 위에 포트포워딩 설정을 해줘야 하는데 이와 같이 server를 찾아봐도 안 보이는 경우가 있다.
이때는 다음의 명령어로 파일을 열어보자.

$ sudo vi /etc/nginx/sites-available/default

4
server가 보일 것이고 server 위에 location \에 다음과 같이 포트포워딩을 적용해 주자.
이때, try_files $uri $uri/ =404;#으로 주석 처리를 해주자.

   location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                # try_files $uri $uri/ =404;
                proxy_set_header    HOST $http_host;
                proxy_set_header    X-Real-IP $remote_addr;
                proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header    X-Forwarded-Proto $scheme;
                proxy_set_header    X-NginX-Proxy true;
                proxy_pass http://localhost:"원하는 포트 번호";
                proxy_redirect  off;
                charset utf-8;
        }

esc -> :wq로 저장을 한 뒤 아래의 명령어를 입력해 주자.

$ sudo nginx -t

$ sudo service nginx reload

실행

리로드 시킨 뒤, 다시 접속을 시도한다.

ip 주소 + 서버 url

5

예시로 스프링 부트 swagger 페이지를 띄워봤다.
포트 번호가 없어도 Nginx가 서버의 포트 번호를 연결해 주므로 이상 없이 서버 페이지가 나온다.