원랜 80포트와 81포트를 사용해서 두개의 포트를 각 로드밸런서를 사용해 포트포워딩할 생각이었다.
Route53에서는 포트별 적용이 되지 않으니 aws의 로드밸런서를 사용하는 것이 답이라 생각했다.
문제는 그 서비스를 사용하는데 $18가 들어간다.
서버 비용은 고작 $3.5인데....
결국 nginx 하나로 두 개의 작업을 분리할 방법을 찾고 찾고 또 찾다가 한 것이 location 분리다.
결과적으론 nginx의 location위치를 특정 uri에 맞춰서 내가 지정한 81포트로 접속되도록 한것이다.
한 서버에서 파생되었으니 일단 CORS문제도 해결될 것으로 보인다.
일단 설정파일에 접속한다. 난 우분투를 사용하고 있어서 설정파일은 sites-available 아래에 위치한다.
os별로 위치가 조금씩 다른 것 같다.
$ sudo vim /etc/nginx/sites-available/default
이것이 기본 내용인데, /api가 변경내용이다.
server {
listen 80 default_server;
listen [::]:80 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포트로 가라!
location /api {
proxy_pass http://localhost:81/;
}
이 작업은 우선 81포트로 갈 것을 지정해주는 것이다.
그렇다면 81포트에 이동한 후에 처리할 경로가 필요할 것이다.
그래서 sites-available 폴더 아래 내가 사용할 설정파일을 생성해준다. 그리고 링크를 sites-enabled에 걸어준다. 이래야 사용이 된다.
$ sudo ln -s /etc/nginx/sites-available/[새로만들거]
/etc/nginx/sites-enabled/
$ sudo systemctl restart nginx
이제 sites-enabled 폴더에 들어가면 내가 만든 파일이 링크되있을 것이다.
그럼 내 도메인에 접속한 후에 결과를 본다.
분리가 잘되었다. 이제 프론트와 백을 나눠서 만들어보자!