리눅스 pm2: Difference between revisions

From IT Wiki
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[분류:리눅스 프로그램]][[분류:리눅스]]
[[분류:리눅스 프로그램]][[분류:리눅스]]
;Node.js 프로세스 관리 도구
;[[Node.js]] 프로세스 관리 도구


리눅스에서 Node.js 프로그램을 데몬으로 구동하기 위한 프로세스 관리 도구
[[리눅스 Node.js|리눅스에서 Node.js]] 프로그램을 데몬으로 구동하기 위한 프로세스 관리 도구


== 설치 ==
== 설치 ==
Line 12: Line 12:
</pre>
</pre>


== 프로세스 실행 ==
== 사용법 ==
=== 프로세스 실행 ===
* node 프로세스를 데몬으로 실행한다.
* node 프로세스를 데몬으로 실행한다.
<pre>
<pre>
Line 28: Line 29:
</pre>
</pre>


== 실행중인 프로세스 보기 ==
=== 실행중인 프로세스 보기 ===
<pre>
<pre>
$ pm2 list
$ pm2 list
Line 39: Line 40:
</pre>
</pre>


== 프로세스 상세 내용 보기 ==
=== 프로세스 상세 내용 보기 ===
<pre>
<pre>
$ pm2 show example
$ pm2 show example
Line 69: Line 70:
│ Loop delay │ 0.92ms │
│ 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>
</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