이전에 생성했던 EC2 인스턴스 에 정적 웹 사이트 배포가 아닌 SSR 을 사용할 수 있는 배포를 정리해보려고한다. 컨셉에 맞게 이번에는 React 가 아닌 Next.js 를 pm2 를 사용해 배포해볼려고한다.
pm2:프로세스 관리자(process manager)로 Node.js로 만들어진 프로그램의 프로세스를 편리하게 관리할 수 있도록 도와주며 아래와 같은 기능을 제공한다.
- 프로그램이 꺼지면 자동으로 다시켜줄 수 있음
- 코드가 바뀌었을때 자동으로 프로세스를 껐다 켜줄 수 있음
- 로그를 확인할 수 있는 화면을 지원함
먼저, 아래의 명령어를 통해 EC2 에 pm2 를 설치해준다.
$ npm install pm2 -g
pm2 는 아래와 같은 명령어를 가진다.
이제 Next.js 프로젝트의 경로로 가서 아래의 명령어를 통해 pm2 를 실행 할 수 있다. 여기서 dev 는 실행할 package.json script 명령어이다.
pm2 start yarn -w --name [app-name] -- dev

이전에 EC2 에 Route 53 도메인 연결과 Load Balancer 또는 Nginx 로 3000 Port 설정을 해주었기 때문에 pm2 로 실행한 Next.js 프로젝트가 나오는 것을 확인할 수 있다.

다음에는 Github-Actions, S3, CodeDeploy를 통해 CI/CD 를 정리해보자 !