리눅스 pm2: Difference between revisions
From IT Wiki
(새 문서: 분류:리눅스 프로그램 '''Node.js 프로세스 관리 도구''' 리눅스에서 Node.js 프로그램을 데몬으로 구동하기 위한...) |
No edit summary |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[ | [[분류:리눅스 프로그램]][[분류:리눅스]] | ||
;[[Node.js]] 프로세스 관리 도구 | |||
[[리눅스 Node.js|리눅스에서 Node.js]] 프로그램을 데몬으로 구동하기 위한 프로세스 관리 도구 | |||
== 설치 == | |||
* 명령어로 사용되어야 하므로 npm -g를 이용해 전역으로 설치한다. | |||
<pre> | |||
$ npm install pm2 -g | |||
$ pm2 version | |||
1.0.1 | |||
</pre> | |||
== 사용법 == | |||
=== 프로세스 실행 === | |||
* node 프로세스를 데몬으로 실행한다. | |||
<pre> | |||
$ pm2 start app.js | |||
[PM2] Spawning PM2 daemon | |||
[PM2] PM2 Successfully daemonized | |||
[PM2] Starting app.js in fork_mode (1 instance) | |||
[PM2] Done. | |||
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────────────┬──────────┐ | |||
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │ | |||
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────────────┼──────────┤ | |||
│ app │ 0 │ fork │ 4004 │ online │ 0 │ 0s │ 14.492 MB │ disabled │ | |||
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────────────┴──────────┘ | |||
Use `pm2 show <id|name>` to get more details about an app | |||
</pre> | |||
=== 실행중인 프로세스 보기 === | |||
<pre> | |||
$ pm2 list | |||
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────────────┬──────────┐ | |||
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │ | |||
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────────────┼──────────┤ | |||
│ example │ 0 │ fork │ 41402 │ online │ 0 │ 71s │ 34.754 MB │ disabled │ | |||
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────────────┴──────────┘ | |||
Use `pm2 show <id|name>` to get more details about an app | |||
</pre> | |||
=== 프로세스 상세 내용 보기 === | |||
<pre> | |||
$ pm2 show example | |||
Describing process with id 0 - name example | |||
┌───────────────────┬───────────────────────────────────────────────┐ | |||
│ status │ online │ | |||
│ name │ example │ | |||
│ node.js version │ 4.3.0 │ | |||
│ id │ 0 │ | |||
│ path │ /Users/outsider/temp/app.js │ | |||
│ args │ N/A │ | |||
│ exec cwd │ /Users/outsider/temp │ | |||
│ error log path │ /Users/outsider/.pm2/logs/example-error-0.log │ | |||
│ out log path │ /Users/outsider/.pm2/logs/example-out-0.log │ | |||
│ pid path │ /Users/outsider/.pm2/pids/example-0.pid │ | |||
│ mode │ fork_mode │ | |||
│ node v8 arguments │ N/A │ | |||
│ watch & reload │ ✘ │ | |||
│ interpreter │ node │ | |||
│ restarts │ 0 │ | |||
│ unstable restarts │ 0 │ | |||
│ uptime │ 3m │ | |||
│ created at │ 2016-02-21T13:41:59.371Z │ | |||
└───────────────────┴───────────────────────────────────────────────┘ | |||
Process configuration | |||
Probes value | |||
┌────────────┬────────┐ | |||
│ Loop delay │ 0.92ms │ | |||
└────────────┴────────┘ | |||
</pre> | |||
== 부팅 시 실행되게 하기 == | |||
=== 자동 실행 등록 === | |||
* pm2 startup 명령어 파악 | |||
<pre> | |||
$ pm2 startup | |||
[PM2] Init System found: systemd | |||
[PM2] To setup the Startup Script, copy/paste the following command: | |||
sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd | |||
-u --hp /home/node | |||
</pre> | |||
* 복사/붙여넣기 하라고 나오는 명령줄 (sudo env...)를 그대로 복사해서 실행 | |||
<pre> | |||
$ pm2 startup | |||
[PM2] Init System found: systemd | |||
[PM2] To setup the Startup Script, copy/paste the following command: | |||
sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd | |||
-u --hp /home/node | |||
</pre> | |||
* 성공 메시지 확인 | |||
=== 자동 실행 해제 === | |||
* pm2 unstartup 를 통해 동일하게 가이드 따라 수행 | |||
<pre> | |||
$ pm2 unstartup | |||
</pre> |
Latest revision as of 12:49, 9 February 2021
- Node.js 프로세스 관리 도구
리눅스에서 Node.js 프로그램을 데몬으로 구동하기 위한 프로세스 관리 도구
설치[edit | edit source]
- 명령어로 사용되어야 하므로 npm -g를 이용해 전역으로 설치한다.
$ npm install pm2 -g $ pm2 version 1.0.1
사용법[edit | edit source]
프로세스 실행[edit | edit source]
- node 프로세스를 데몬으로 실행한다.
$ pm2 start app.js [PM2] Spawning PM2 daemon [PM2] PM2 Successfully daemonized [PM2] Starting app.js in fork_mode (1 instance) [PM2] Done. ┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────────────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │ ├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────────────┼──────────┤ │ app │ 0 │ fork │ 4004 │ online │ 0 │ 0s │ 14.492 MB │ disabled │ └──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────────────┴──────────┘ Use `pm2 show <id|name>` to get more details about an app
실행중인 프로세스 보기[edit | edit source]
$ pm2 list ┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────────────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │ ├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────────────┼──────────┤ │ example │ 0 │ fork │ 41402 │ online │ 0 │ 71s │ 34.754 MB │ disabled │ └──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────────────┴──────────┘ Use `pm2 show <id|name>` to get more details about an app
프로세스 상세 내용 보기[edit | edit source]
$ pm2 show example Describing process with id 0 - name example ┌───────────────────┬───────────────────────────────────────────────┐ │ status │ online │ │ name │ example │ │ node.js version │ 4.3.0 │ │ id │ 0 │ │ path │ /Users/outsider/temp/app.js │ │ args │ N/A │ │ exec cwd │ /Users/outsider/temp │ │ error log path │ /Users/outsider/.pm2/logs/example-error-0.log │ │ out log path │ /Users/outsider/.pm2/logs/example-out-0.log │ │ pid path │ /Users/outsider/.pm2/pids/example-0.pid │ │ mode │ fork_mode │ │ node v8 arguments │ N/A │ │ watch & reload │ ✘ │ │ interpreter │ node │ │ restarts │ 0 │ │ unstable restarts │ 0 │ │ uptime │ 3m │ │ created at │ 2016-02-21T13:41:59.371Z │ └───────────────────┴───────────────────────────────────────────────┘ Process configuration Probes value ┌────────────┬────────┐ │ Loop delay │ 0.92ms │ └────────────┴────────┘
부팅 시 실행되게 하기[edit | edit source]
자동 실행 등록[edit | edit source]
- pm2 startup 명령어 파악
$ pm2 startup [PM2] Init System found: systemd [PM2] To setup the Startup Script, copy/paste the following command: sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u --hp /home/node
- 복사/붙여넣기 하라고 나오는 명령줄 (sudo env...)를 그대로 복사해서 실행
$ pm2 startup [PM2] Init System found: systemd [PM2] To setup the Startup Script, copy/paste the following command: sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u --hp /home/node
- 성공 메시지 확인
자동 실행 해제[edit | edit source]
- pm2 unstartup 를 통해 동일하게 가이드 따라 수행
$ pm2 unstartup