JavaScript - node + express - サービス化


 クラウディア


1. 概要
2. サービス化
3. 参考サイト

1. 概要

 サービス化します。

2. サービス化

 「root」ユーザ権限で。

vi /etc/systemd/system/node-server.service
 下記を記述します。

[Unit]
Description=Node.js App
After=network.target

[Service]
ExecStart=/usr/bin/node /path/to/server.js
WorkingDirectory=/path/to
Restart=always
RestartSec=5
User=www-data
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
 上記で、「/usr/bin/node」の場所は、実際に動作させる「node」のパスを記述します。  「/path/to」の箇所は、プロジェクトディレクトリのパスを記述します。  作成したものを、読み直し・有効化・起動します。

systemctl daemon-reload

systemctl enable node-server

systemctl start node-server
 起動を確認します。

systemctl status node-server
 およそ下記のように表示されれば、サービスは起動しています。

● node-server.service - Node.js App
     Loaded: loaded (/etc/systemd/system/node-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2025-11-18 00:38:41 UTC; 5s ago
   Main PID: 1183 (MainThread)
      Tasks: 7 (limit: 4558)
     Memory: 19.7M
        CPU: 583ms
     CGroup: /system.slice/node-server.service
             mq1183 /usr/bin/node /path/to/server.js

Nov 18 00:38:41 ubuntu2204 systemd[1]: Started Node.js App.
 これで、システムが再起動しても、「node」サーバが起動するようになります。

3. 参考サイト

 本ページは、「ChatGPT」くんを参考にさせていただきました。

サウンドハウス