저번 포스팅에서 git clone을 통해 서버컴퓨터에 프로젝트를 받아오고 빌드하는 과정까지 진행하였다. 이번 포스팅에서는 빌드한 파일을 PM2를 이용해 백그라운드로 돌리는 방법과 Nginx 설정을 통해 리버스 프록시를 진행해보도록 하겠다.
< 목차 >
- PM2
- Nginx 설정하기
1. PM2
서버컴퓨터에서 서버를 돌릴 때 PM2라는 백그라운드 관리 툴을 이용해 백그라운드에서 서버를 돌리면 관리가 편해진다. 서버컴퓨터에서 npm install 을 이용해 PM2를 설치해주도록 하자.
## pm2 설치
npm install -g pm2
PM2 설치가 완료되었다면 아래에 있는 PM2의 명령어를 이용해 서버를 구동하고 관리하면 된다.
## pm2 시작하기
pm2 start npm --name "[관리할 이름]" -- start
## pm2 시작
pm2 start
## pm2 정지
pm2 stop [id 혹은 name]
## pm2 리스트
pm2 list
## pm2 재시작
pm2 restart
## pm2 monit을 이용하면 console.log를 볼 수 있다.
pm2 monit
2. Nginx 설정하기
현재 우리는 AWS에서 80번, 443번 3306번 포트만 열어놓은 상태이다. Nginx의 설정값을 수정해 80번 포트로 들어온 요청이 3000번( 각자의 프로젝트에서 지정한 포트 )으로 가게끔 해줘야 한다.
Nginx의 default 파일을 수정해 리버스 프록시를 설정해 주도록 하자.
## default 파일 경로
cd /etc/nginx/sites-enabled/
## 관리자 권한으로 default 파일 열기
sudo vi default
초기 default 파일은 위와 같다. listen 80으로 적혀있는 것을 보아 Nginx에서 80번 포트를 listen하고 있는 것을 알 수 있다. 해당 부분은 그대로 둔 채 location 부분을 다음과 같이 수정하도록 하자.
수정한 내용을 간략하게 살펴보면 set_header 부분은 요청이 들어온 브라우저의 host 내용을 넘겨주겠다는 뜻이다. pass 부분은 80번으로 들어온 요청을 3000번 포트로 전달하겠다는 내용이고 redirect off는 SPA일 경우 redirect를 없애겠다는 의미이다. SPA가 아닐 경우 redirect off는 작성해줄 필요가 없다.
주의할 점은 default 파일을 수정하였다면 sudo nginx -t 명령어를 통해 수정된 내용에 오류가 없는지 체크한 다음 반드시 Nginx를 재시작 해주도록 하자.
## 문법 오류 체크
sudo nginx -t
## nginx 재시작
sudo service nginx restart
이로써 PM2를 이용해 서버컴퓨터의 백그라운드에서 서버를 돌리게 되었고 Nginx를 통한 리버스 프록시 설정 부분을 끝마쳤다. 다음 포스팅에서는 배포한 서버에 도메인을 입혀보고자 한다.
'AWS' 카테고리의 다른 글
AWS EC2 배포 - (5) Route 53 / 도메인 연결하기 , HTTPS (0) | 2022.06.02 |
---|---|
AWS EC2 배포 - (3) Nginx & 탄력적 IP (0) | 2022.06.01 |
AWS EC2 배포 - (2) 서버컴퓨터 환경설정 (0) | 2022.06.01 |
AWS EC2 배포 - (1) 인스턴스 생성 및 연결 (1) | 2022.06.01 |