systemctlコマンドで打てるようにservice化するのが確実でした。以下備忘録です。
永続化したいnode.js製サーバーは既にあるものとします。
環境:さくらのVPS、ubuntu20.04
foreverを導入
sudo npm install -g forever
serviceを作る
/etc/systemd/system/に移動。
分かりやすいサービス名.serviceファイルを新規作成。
以下のように設定。
[Unit]
Description = 分かりやすい詳細名
After = netwark.target
[Service]
ExexStart=foreverまでの絶対パス start 起動したいnode.jsサーバーまでの絶対パス
ExecStop=foreverまでの絶対パス stop 起動したいnode.jsサーバーまでの絶対パス
Restart=always
RestartSec=10
StandardOutput=ログファイルを置きたい場所
StandardError=ログファイルを置きたい場所
SyslogIdentifier=node-server
Type=forking
Environment=NODE_ENV=production
PORT=使用するポート番号
[Install]
WanteBy=multi-user.target
あとは sudo systemctl daemon-reload して
sudo systemctl start 〇〇.service
systemctl status 〇〇.service で確認。
起動できていたら sudo systemctl enable
起動できてなかったら一度forever start app.jsするといけるかも。