田中ソフトウェアラボ @TanakaSoftwareLab
@TanakaSoftwareLab
2020/10/26 12:57 更新✏

systemdでnodeアプリケーションをサービス化

systemdを使ってnodeアプリケーションをサービス化しOS起動時に自動的に起動する方法です。

目次:

前提

サービスファイルを作成

$ sudo nano /etc/systemd/system/node-app.service

    [Unit]
    Description=Node.js Application

    [Service]
    PIDFile=/tmp/node-app.pid
    Restart=always
    KillSignal=SIGQUIT
    WorkingDirectory=/home/pi/
    # nodeのパスは `$ which node` の実行結果、
    # nodeアプリケーションのパスは /home/pi/app.js とする
    ExecStart=/home/pi/.nvm/versions/node/v10.22.1/bin/node /home/pi/app.js

    [Install]
    WantedBy=multi-user.target

サービスとして登録

## デーモンとして登録:
$ sudo systemctl enable node-app.service

サービスを起動・停止・再起動

## 起動:
$ sudo service node-app start
## 停止:
$ sudo service node-app stop
## 再起動:
$ sudo service node-app restart

サービスのログを確認

journalctlコマンドを使ってsystemdで起動したサービスのログを確認できます: (-bオプションで最近起動したサービスのログ)

$ journalctl -b

以上です。

Linux

田中ソフトウェアラボ @TanakaSoftwareLab
田中ソフトウェアラボ@TanakaSoftwareLab
田中ソフトウェアラボ公式アカウント。「芽萌丸」運用情報や田中ソフトウェアラボからのお知らせを発信いたします。プログラミング関連記事(@programming)も担当。お問合せは Chatwork ID: akirattii まで。
オススメ:Zattoyomiで時事ネタチェックの時間節約!