Node.js/Tomcat에서 앱이 이미 실행 중이라 가정
이 글에서는 하나의 서버 연동만을 다룬다. 여러 서버를 연동하고 싶으면 아래 글을 참고
(nginx에 여러 서버, 여러 도메인(Subdomain) 연동하기 (+ ssl 적용))
1. Install nginx
apt-get install nginx
2. nginx 설정 변경
Configuration 파일:/etc/nginx/sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server;
root [[root directory]];
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
proxy_pass [[http://IP주소:port]];
}
}
port는 따로 수정하지 않았다면 Node.js의 기본값은 3000
, Tomcat의 기본값은 8080
이다.
3. nginx 재시작
Node.js를 실행하고 nginx를 재시작
/etc/init.d/nginx restart
80포트로 접속하면 proxy_pass에 적어둔 주소로 가지는 것을 확인할 수 있다.
4. nginx 관련 기타
nginx 상태 확인: status nginx.service
or nginx -t
nginx 로그 위치: /var/log/nginx
아래는 예제 설정 파일
1. 가정 조건
Apple Service
Server: Nginx
Port: 3000
Domain: fruit.com www.fruit.com
Root Directory: /var/html/www/apple
2. Example
/etc/nginx/sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/html/www/apple;
server_name fruit.com www.fruit.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
proxy_pass http://localhost:3000;
}
}