🖋️ EC2 프로젝트에 Nginx 와 pm2 설정하기
Nginx 와 PM2 는 Node.js 애플리케이션을 효율적으로
배포하고 관리하는 데 필수적인 도구
Nginx
고성능 웹 서버이자 역방향 프록시
정적 콘텐츠, 역방향 프록시 동적 콘텐츠를 제공하고
HTTPS 종료를 처리하는 등의 작업에 사용
sudo apt update
sudo apt install nginx
Nginx Domain 설정하기
- [Domain URL]
- [AWS-EC2-퍼블릭 IPv4 DNS]:[Server PORT]
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name [Domain URL];
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass [AWS-EC2-퍼블릭 IPv4 DNS]:[Server PORT];
try_files $uri $uri/ =404;
}
}
sudo systemctl start nginx
sudo systemctl status nginx
PM2
PM2는 Node.js 애플리케이션의 프로세스 관리자
애플리케이션을 온라인으로 관리하고 유지하는 데 도움
npm install pm2 -g
pm2 start src/server.js
# 재부팅 시 PM2 를 자동 시작하도록 설정
pm2 startup systemd
pm2 save
pm2 list
# 에러나 로그 확인
pm2 logs [app-name]
# app 중지
pm2 stop [app-name]
# app 삭제
pm2 delete [app-name]
# app 재시작
pm2 restart src/server.js