pm2
-
[ 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_mod..
-
[ AWS ] EC2 시작할 때, pm2를 이용해 스크립트로 서버 배포하기Topic/AWS | JENKINS 2023. 5. 20. 20:11
ec2에 cloud-init 설치 ec2~ubuntu에서 sudo apt-cache search cloud-init 설치되지 않았다면 sudo apt-get install cloud-init EC2 인스턴스 중지 (종료 X) 중지 후 “중지됨”으로 상태가 변할 때까지 대기한다. 중지되었다면 [작업 - 인스턴스 설정 - 사용자 데이터 편집]으로 들어간다. 스크립트 하단 #!/bin/bash 아래부터 작성해나간다. *sudo, root폴더 기준임에 유의하여 작성한다. * Content-Type: multipart/mixed; boundary="//" MIME-Version: 1.0 --// Content-Type: text/cloud-config; charset="us-ascii" MIME-Version: ..
-
[ AWS ] ec2내에서 pm2로 multi-node(다중노드) 띄워서 개별 관리 세팅하기Topic/AWS | JENKINS 2023. 4. 29. 11:14
(총 관리를 하게될) ec2 생성 ec2 접속 sudo apt-get update curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash nvm ls (comment not found 뜨면 ssh 껐다가 다시 재접속해보기) nvm install v14.16.1 nvm use v14.16.1 sudo apt-get install nginx sudo service nginx start mkdir app cd app 터미널에서 pem 키가 있는 파일로 이동 ( /project/ssh ) chmod 400 YOUR_PROJECT.pem ssh -i "YOUR_PROJECT.pem" ubuntu@ec2--*--.ap-north..
-
[ NodeJS ] node-schedule에서 클러스터 2개 중복 실행 방지Topic/Node.js | server 2023. 1. 7. 11:47
cron.service.js 로직 /** * 매일 같은 시간에 해당 날짜로 DB 생성하는 로직 * @returns {Promise} */ const updateSchedule = async () => { // schedule.scheduleJob('00 08 10 * * 0-6', () => { // console.log('Cron-style Scheduling at 10:00 , Sun-Sat'); // }); let today = moment().format('YYMMDD'); let presentTime = moment().format('YY-MM-DD HH:mm'); mongoose.set('useFindAndModify', false); try { const TODAY = await Day.fi..
-
AWS EC2: 터미널이 종료되어도 서버 실행되게 만드는 방법 (feat. PM2)Topic/AWS | JENKINS 2022. 3. 31. 11:11
우리가 SSH를 통해 EC2에 접속하고, 서버 운영중인데 터미널이 강제 종료되었다고 생각해봅시다. 로컬에 띄워져 있던 ssh 프로세스가 강제 종료되고, EC2 상의 프로세스도 같이 종료되면서 서버가 종료되버리는 일이 발생한다. 우리는 웹 서버가 구동 중인 node 프로세스가 종료되지 않게 해야하는데 이 때 우리는 프로세스 매니지먼트 도구 PM2를 사용해볼 수 있다. PM2는 node.js로 실행되는 프로그램(프로세스)를 관리해주며, 백그라운드에서 실행되게 만들어준다. PM2 설치 방법 (서버에 접속한 상태에서) $ npm install pm2 -g PM2 전역에 설치 후 node.js 앱을 백그라운드로 실행하기 $ pm2 start app.js pm2에 관리자 권한을 부여하기 위해서 'authbind' ..