pm 2自己起動node.jsアプリケーション起動関連コマンドの設定
3035 ワード
Node.jsサービスを実行する場合、サーバーがうっかりしたり、他の理由で再起動したりした場合、サービスは再起動に追随せず、手動でサービスを実行する必要があります.これは不便に違いありません.もちろんshellスクリプトで起動できますが、このようなサービス管理には不利です.pm 2で管理できます.
グローバルインストールpm 2
プロジェクトのディレクトリを見つけ、
実行命令
現在のリストを保存
実行命令
起動の設定
実行命令
関連コマンド
グローバルインストールpm 2
npm install pm2 -g
プロジェクトのディレクトリを見つけ、
pm2
を使用して起動します.実行命令
pm2 start
プロジェクト起動ファイルを起動する[root@centos7 server]# pm2 start app.js
[PM2] Starting /www/server/yapi/vendors/server/app.js in fork_mode (1 instance)
[PM2] Done.
┌──────────┬────┬─────────┬──────┬───────┬────────┬─────────┬────────┬─────┬──────────┬──────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├──────────┼────┼─────────┼──────┼───────┼────────┼─────────┼────────┼─────┼──────────┼──────┼──────────┤
│ app │ 0 │ 1.7.1 │ fork │ 21501 │ online │ 0 │ 0s │ 0% │ 2.9 MB │ root │ disabled │
└──────────┴────┴─────────┴──────┴───────┴────────┴─────────┴────────┴─────┴──────────┴──────┴──────────┘
Use `pm2 show ` to get more details about an app
[root@centos7 server]#
現在のリストを保存
実行命令
pm2 save
既存リストデータを保存し、起動すると自動的に保存したアプリケーションリストをロードして起動する[root@centos7 server]# pm2 save
[PM2] Saving current process list...
[PM2] Successfully saved in /root/.pm2/dump.pm2
[root@centos7 server]#
起動の設定
実行命令
pm2 startup
設定起動出力以下の情報は設定成功[root@centos7 server]# pm2 startup
[PM2] Init System found: systemd
Platform systemd
Template
[Unit]
Description=PM2 process manager
Documentation=https://pm2.keymetrics.io/
After=network.target
[Service]
Type=forking
User=root
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/usr/local/src/node-v10.15.3-linux-x64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/root/.pm2
PIDFile=/root/.pm2/pm2.pid
Restart=on-failure
ExecStart=/usr/local/src/node-v10.15.3-linux-x64/lib/node_modules/pm2/bin/pm2 resurrect
ExecReload=/usr/local/src/node-v10.15.3-linux-x64/lib/node_modules/pm2/bin/pm2 reload all
ExecStop=/usr/local/src/node-v10.15.3-linux-x64/lib/node_modules/pm2/bin/pm2 kill
[Install]
WantedBy=multi-user.target
Target path
/etc/systemd/system/pm2-root.service
Command list
[ 'systemctl enable pm2-root' ]
[PM2] Writing init configuration in /etc/systemd/system/pm2-root.service
[PM2] Making script booting at startup...
[PM2] [-] Executing: systemctl enable pm2-root...
[PM2] [v] Command successfully executed.
+---------------------------------------+
[PM2] Freeze a process list on reboot via:
$ pm2 save
[PM2] Remove init script via:
$ pm2 unstartup systemd
[root@centos7 server]#
関連コマンド
# app pm2
pm2 show app #
pm2 -h # pm2 ,
pm2 start app.js -n project # project
pm2 list #
pm2 stop app #
pm2 restart app #
pm2 delete app #
pm2 status #
pm2 monit # CPU