一般ユーザでのpm2での自動起動

Ubuntu20.04で新しく構築していて、pm2の自動起動がうまく動かなかったのでちょっと試行錯誤したのでメモ。
以下、ユーザ名:userxで実行とする。

$ 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 userx --hp /home/uesrx
$ sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u userx --hp /home/userx
[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=userx
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/home/userx/.pm2
PIDFile=/home/userx/.pm2/pm2.pid
Restart=on-failure

ExecStart=/usr/local/lib/node_modules/pm2/bin/pm2 resurrect
ExecReload=/usr/local/lib/node_modules/pm2/bin/pm2 reload all
ExecStop=/usr/local/lib/node_modules/pm2/bin/pm2 kill

[Install]
WantedBy=multi-user.target

Target path
/etc/systemd/system/pm2-userx.service
Command list
[ 'systemctl enable pm2-userx' ]
[PM2] Writing init configuration in /etc/systemd/system/pm2-userx.service
[PM2] Making script booting at startup...
[PM2] [-] Executing: systemctl enable pm2-userx...
Created symlink /etc/systemd/system/multi-user.target.wants/pm2-userx.service → /etc/systemd/system/pm2-userx.service.
[PM2] [v] Command successfully executed.
+---------------------------------------+
[PM2] Freeze a process list on reboot via:
$ pm2 save

[PM2] Remove init script via:
$ pm2 unstartup systemd

投稿者:

Kenzo

サイト管理人です。 お仕事募集中です。 システム開発を生業としています。 どうぞ宜しくお願い致します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください