nginx는 다중 포트 연결할수 있는 기능을 제공한다.
우선 nginx의 설정파일을 접속한다.
ubuntu에 nginx를 설치했기 때문에 설정파일 위치는 아래였다.
$ sudo vim /etc/nginx/sites-available/default
기본 설정은 아래와 같이 되있다.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /usr/share/nginx/html/florentyoon/public;
index index.html index.htm index.nginx-debian.html index.php;
location / {
try_files $uri $uri/ =404;
}
nginx에서 포트를 추가하는 방법은 간단하다.
server {
listen 81 default_server;
listen [::]:81 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html index.php;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
아래에다 하나 더 만들어주는 것이다.
81포트로 작성했고 root는 다른 경로를 지정했다.
:wq로 닫아준 후
먼저 설정파일에 오류가 있는지 확인한다.
$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
이상없으니 nginx를 재실행한다.
$ sudo systemctl restart nginx
그리고 포트 상태를 확인한다.
$ netstat -tulpn
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 52141/nginx: master
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 52141/nginx: master
두 개가 잘 돌고있는 것이 보인다.
이제 route53에서 내가 사용하는 도메인을 통해 접속이 되는지 확인해본다.
http://app.florentyoon.com/ => 80포트일때
http://app.florentyoon.com:81/ => 81포트일때
하지만 시간초과가 뜬다.
왜냐면 lightsail에서 81포트에 대해 안열어줘서 그렇다.
80과 81을 열어준다.
다시 접속해보면 된다.
찾아보니 route53은 80포트를 기본 도메인으로 쓰고 있어서 다른 포트를 허용하려면 로드밸런싱과 포트포워딩을 해줘야 한다.
이 부분에 대한 학습을 이어서 해야 한다.