IT

Node.js 프로세스 관리도구, PM2 시작하기

윤시즈 2020. 1. 7. 03:49

이번시간에 소개 할 Node.js 프로세스 관리도구인 PM2는 여러가지 방면에서 편하게 사용할 수 있습니다. 일반적으로, 윈도우의 cmd나, 리눅스에서의 터미널에서 Node.js 를 실행할 수도 있지만, 파일을 수정하는 경우 Node.js 서버를 다시 재구동해야하는 번거로움이 있습니다. 하지만, PM2를 사용하면, 파일 수정 시 서버를 자동으로 재구동하게 설정할 수도 있고, 만약 Node.js에 알 수 없는 오류가 발생하여 Node.js 서버를 운영하는 중간에 갑자기 꺼져버리면 자동으로 재구동해주는 기능도 이용할 수 있습니다. 또한, 앞서 말했다시피, 일반적으로 윈도우의 cmd나, 리눅스에서의 터미널에서 Node.js 서버를 구동하게 되면, 콘솔 또는 터미널 창을 계속 열어두어야 하는데, PM2를 사용하면 백그라운드에서 서버가 운영되기 때문에 콘솔 창 또는 터미널 창을 끄더라도 서버가 꺼지지 않다는 편리함 또한 가지고 있습니다.

 

먼저, 이 강의는 본인의 컴퓨터에 Node.js 및 npm 기능이 이미 설치되어 있다는 가정하에 진행합니다. 만약, 기능이 설치되어 있지 않다면, 여기를 통하여 설치를 하고, 곧 나오는 튜토리얼을 진행하시기 바랍니다.

 

PM2 설치하기

이 게시글은 macOS를 기준으로 작성되었습니다. 윈도우에서도 명령어는 동일하니 똑같이 진행하시면 됩니다.

터미널 또는 윈도우의 콘솔 창에서 위 사진과 같이 명령어를 타이핑하거나, 아래의 명령어를 복사하여 설치를 진행합니다.

 

- macOS 및 Linux 설치 명령어 (사용자 비밀번호 요구)

 

sudo npm install pm2

 

- Windows 설치 명령어

 

npm install pm2

 

명령어를 입력하고, 위 사진과 같은 결과가 나온다면 설치가 완료되었습니다.


PM2 실행 및 중지

먼저, PM2를 이용해서 Javascript 파일, .js 파일을 실행하는 방법에 대해 알아보겠습니다. 터미널 창을 열고, cd 명령어를 이용하여 Javascript 파일이 들어있는 폴더로 이동합니다. Windows에서는 파일탐색기의 주소 부분을 클릭하면 폴더의 위치를 편하게 지정할 수 있고, macOS는 아래 방법을 따라하면 됩니다.

위와 같이 먼저, cd 명령어를 타이핑 하고, 스페이스 바를 한 번 눌러주고, 아래 사진과 같이 터미널과 Finder 창을 나란히 배치합니다. 저 같은 경우는 PM2-Test 파일 안에 실행 할 Javascript 파일이 들어있기 때문에 PM2-Test 폴더로 이동하겠습니다. 폴더를 터미널로 끌어다 두면 자동으로 위치가 지정됩니다. 아래 사진과 같이 지정이 되면, 엔터를 눌러주세요.

PM2-Test 폴더 안에는 아래와 같이 main.js 파일이 존재합니다.

이제, main.js 파일을 실행해보겠습니다. 터미널에서 다음과 같은 명령어를 입력해주세요. main.js 부분에서 이름을 자신의 파일 명으로 대치하시기 바랍니다.

 

pm2 start main.js --watch

위 명령어를 입력했을 때, 위 사진과 같이 출력된다면, 실행이 완료된겁니다. 저는 이전에 이미 실행한 파일이 있어서 2개가 뜨는데, 처음 사용이시라면, 1개가 뜨면 정상입니다.

 

이제 명령어에 대해 살펴보겠습니다. 아래 명령어는 위에 명령어와 동일한 코드입니다.

 

pm2 start main.js --watch

 

위 명령어에서 pm2 start는 PM2에서 서버를 실행한다는 뜻입니다. 만약 서버를 종료 할 때에는 반대로 pm2 stop 명령어를 사용하면 됩니다. 그리고 그 뒤에 있는 main.js는 파일 이름입니다. --watch는 파일을 지켜본다는 뜻입니다. 파일이 수정되면 자동으로 서버가 재구동 된다는 뜻이죠. 만약 파일이 수정되도 재구동을 원치 않으면 --watch를 삭제하면 됩니다.


PM2 모니터

무슨 파일이 현재 구동되고 있고, 메모리를 얼마나 사용 중인지, 서버 로그를 보고 싶을 때 PM2 모니터를 이용합니다. 실행시키는 명령어는 다음과 같습니다.

 

pm2 monit

 

위 명령어를 콘솔 창 또는 터미널 창에 입력하면 아래와 같은 화면이 표시되고, 방향키 위, 아래를 이용하여 이동하며 로그를 확인할 수 있습니다.


 

반응형