PM2

Creating the dots·2021년 10월 29일
0

AWS

목록 보기
4/7

PM2는 프로세스 매니지먼트 도구이다. 여기서 프로세스란, "실행중인 프로그램"을 가리킨다.

프로세스 관리가 필요한 이유?

우리는 ssh 프로그램으로 EC2에 접속한 터미널을 강제 종료한다고 할때, 로컬에 띄워져있던 ssh 프로세스가 강제 종료되고, ec2 상의 프로세스도 같이 종료된다. 즉, EC2 상의 서버도 종료된다. ssh 접속 여부와 관계없이 서버가 실행시키고 싶을때 우리는 프로세스를 관리해야한다. 방법들은 다음과 같다.

& 키워드 사용하기

프로그램을 백그라운드에서 실행하는 방법은 linux/unix 계열 운영체제에서는 &라는 키워드를 명령 뒤에 붙여 백그라운드 실행으로 만들 수 있다.

node index.js &를 실행하면 숫자가 결과로 출력되는데 그것이 바로 PID (Process ID)이다. PID를 알면 fg 명령으로 포어그러운드로 부르거나 kill 명령을 통해 백그라운드에서 실행중인 프로세스를 종료할 수 있다.

PM2 사용하기

node.js로 실행되는 프로세스를 관리해주고 백그라운드에서 실행되게 만들 수 있다. pm2를 설치하고 서버를 실행할때, 1024번 이하의 포트를 이용해 서버를 실행시키는 경우 관리자 권한이 필요하므로 authbind 패키지를 추가 설치해주어야한다.
authbind로 실행하기 전에 이전에 시작된 동일한 프로세스가 있다면 pm2 delete 파일명을 통해 프로세스를 삭제한 후 authbind --deep pm2 start 파일명으로 다시 서버를 실행해주어야한다.

//설치하기
//ec2 상 서버 폴더로 이동하기
npm install pm2 -g 

//pm2 명령어
pm2 stop //프로세스 중지
pm2 restart //프로세스 재시작
pm2 ls  //프로세스 목록 보기
pm2 log //프로세스 로그 보기

//authbind 패키지 설치하기
sudo apt-get update
sudo apt-get install authbind
sudo touch /etc/authbind/byport/80
sudo chown ubuntu /etc/authbind/byport/80
sudo chmod 755 /etc/authbind/byport/80
authbind --deep pm2 update

//authbind로 서버 실행하기
authbind --deep pm2 start <파일명>
profile
어제보다 나은 오늘을 만드는 중

0개의 댓글