pm2 startup 사용방법

Posted by Everyharu
2016. 12. 26. 15:42 IT/NodeJS

nodejs 프로젝트의 실행을 관리하는데는 pm2 만한것이 없다.

실제로 pm2가 없었으면 필자는 지금까지 nodejs 를 좋아하지도 사용하지도 않았을지 모른다.

pm2가 그만큼 많은 부분을 해결해준다.


pm2 에서는 OS가 부팅되고 나서 자동으로 프로젝트를 시작프로그램으로서 올려주는 startup 하는 과정을 제공한다.


일단 pm2의 startup을 등록하려면 su가 아닌 실제로 프로젝트를 돌릴 계정에서 진행을 해야한다. (su로 하면안된다.)

pm2 startup centos

을 쳐보면

[PM2] You have to run this command as root. Execute the following command:

sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup centos -u 계정이름 --hp /home/계정이름


와 같은 명령어가 나오는데 그대로 쳐준다.


만약 위 명령어를 쳤을 때

pickus is not in the sudoers file.  This incident will be reported.

와 같이 나오면 sudo 권한이 없는 계정인 것이다. 계정에 권한을 추가해 주자.

su 로 접속하여 

vim /etc/sudoers

파일의 하단에

pickus ALL=(ALL:ALL) ALL

%sudo    ALL=(ALL:ALL) ALL

을 추가해주자.

만약 파일이 수정되지 않으면 파일의 권한이 444 로 되있을 확률이 높다.  chmod 666 를 이용하여 해당 파일에 쓰기권을을 주고 수정한다.


그리고 나서 실질적인 프로젝트를 추가하고 다음을 실행한다.

pm2 start /home/www/api/index.js --name="pickus-api" -i 4

pm2 save

sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup centos -u 계정이름 --hp /home/계정이름


위의 과정을 잘 살펴보면 분명 root 계정으로도 할 수 있는 방법이 있을테지만 굳이 그러고 싶지는 않다.

너무나도 쉽게 프로젝트를 관리하고 logging 을 모니터링하게 해주는 pm2 너란녀석..

사랑한다 ㅎ