반응형
PM2 를 활용하여 Node.js 서비스하기
추가 설명 없이 간단하게 정리한 것이므로 자세한 설명을 원한다면 가장 하단의 References 의 블로그를 참조하시기 바랍니다.
PM2 설치하기
Node.js 가 설치되어 있다는 가정 하에 진행합니다.
Node.js 의 패키지 매니저인 npm으로 PM2 를 설치합니다.
> npm install pm2@latest -g
예시 애플리케이션 파일 준비
var http = require('http');
var url = require('url');
var app = http.createServer(function(request,response){
var _url = request.url;
var queryData = url.parse(_url, true).query;
response.writeHead(200);
response.end('main2');
});
app.listen(3000);
PM2 사용방법
서비스 시작
> PM2 start main2.js
저는 main 도 실행한 기록이 있어서 main과 main2 가 모두 나오고 있습니다.
status 는 서비스 상태를 뜻하며, online 인 경우 서비스중을 나타냅니다.
name 은 해당 서비스의 이름입니다.
서비스 종료
> PM2 stop main2.js
main2.js 서비스를 종료합니다.
> PM2 kill
pm2로 실행시긴 모든 서비스를 종료합니다.
서비스 목록 & 상태
> PM2 list
서비스 시작
--watch
옵션은 서비스 영역에 변경이 생겼을 경우 PM2가 실행한 서비스가 껐다 켜지면서 해당 내용을 반영합니다.
> PM2 start main2.js --watch
무중단 서비스를 시작한 후 main2.js 에 코드를 변경한 후 새로고침을 하면 결과가 바로바로 바뀌는 것을 확인할 수 있습니다.
> PM2 start main2.js --watch --no-daemon
무중단 서비스 시작 후 코드 변경 내역을 터미널에서 확인하고 싶다면 --no-daemon 옵션을 통해 확인할 수 있습니다.
서비스 테스트
var http = require('http');
var url = require('url');
var app = http.createServer(function(request,response){
var _url = request.url;
var queryData = url.parse(_url, true).query;
response.writeHead(200);
response.end('main3'); // 숫자를 변경하며 테스트 해보기
});
app.listen(3000);
서비스 로그 보기
> PM2 log
만약 --no-daemon
옵션을 주지 않았다면, 터미널에서 곧바로 로그를 확인할 수 없습니다.
PM2 log 를 통해 서비스 중인 애플리케이션의 로그를 볼 수 있습니다.
참고자료
반응형
'Programming > Node.js' 카테고리의 다른 글
Node.js + express-session 연동 예제 :: 프로젝트 생성부터 로그인 구현하기 (0) | 2022.07.07 |
---|---|
Node.js :: express-generator 로 개발환경 세팅 (0) | 2022.07.06 |
Node.js :: 버전 변경하기 / nvm 활용 (0) | 2022.06.27 |
Node.js :: Express 로 Cookie 올바르게 활용하기 (0) | 2022.06.08 |
Node.js :: Express generator 로 프로젝트 생성 시 PM2 안 되는 오류 (1) | 2022.06.03 |