-
[ NodeJS ] 백엔드 재부팅 시 PM2 자동실행 설정Topic/Node.js | server 2023. 5. 27. 11:11반응형
pm2는 pm2 start 명령으로 실행할 앱 지정 시 자동으로 프로세스를 관리해주는 프로그램이다.
하지만 서버가 잠깐 중지되었다가 다시 실행되었을 때 pm2는 자동으로 실행되지 않는다.그래서 우리는 자동으로 재부팅 시 pm2가 실행되게 바꿔줘야한다.
pm2 start app.js
pm2 startup 명령어로 systemd를 통해서 자동으로 실행되도록 unit파일을 생성한다.
pm2 startup [PM2] Init System found: systemd [PM2] To setup the Startup Script, copy/paste the following command: sudo env PATH=$PATH:/usr/bin /home/username/.node_modules/lib/node_modules/pm2/bin/pm2 startup systemd -u lesstif --hp /home/username
** ubuntu계정이 아닌 타 계정일 경우 sudo때문에 실행이 되지 않는데, 이런 경우 관리자(ex.대표님) 권한 하에ubuntu계정에서 sudo권한을 타 계정에도 부여해줘야한다.
cd /etc/ sudo vi group //
여기서 sudo env PATH~ 이하 명령어를 그대로 복사해서 쉘에서 실행시켜주고sudo env PATH=$PATH:/usr/bin /home/username/.node_modules/lib/node_modules/pm2/bin/pm2 startup systemd -u lesstif --hp /home/username
// 1
pm2 save
저장해주면 설정이 끝나고 이제 재부팅 시 pm2가 자동으로 실행되는 것을 볼 수 있다.
※ 부팅 시스템에 등록이 되어있는지는 아래와 같이 확인하면 됩니다.
sudo systemctl status pm2-[등록서비스이름: 기본은 ubuntu].service // ex) sudo systemctl status pm2-ubuntu.service
*startup 과 반대로 unstartup을 해주면 등록 된 서비스를 지울 수 있습니다. *
반응형'Topic > Node.js | server' 카테고리의 다른 글
[ NestJS ] @IsString 데코레이터와 : string 타입은 뭐가 다를까? (0) 2023.07.08 [ NodeJS ] Logger | .gz / gz파일 확인하기 (log.gz) (0) 2023.06.03 [ NodeJS ] express에서 swagger로 API 명세서 만들기 (0) 2023.04.15 API 문서작성(명세서)에 관한 비교 (Swagger vs Postman vs GitBook) (0) 2023.03.24 [ NodeJS ] express에서 swagger로 API 명세서 만들기 (0) 2023.02.18