- 1. 概要
- 2. サービスファイル
- 3. 登録・起動設定
- 4. 参考サイト
1. 概要
「Node.js」は、「Node.js - Wikipedia」に記載されているように。
「HTTP」のサーバとして、起動できます。
「AlmaLinux release 9.6」で、サーバ化する処理を実装したのですが、それをサーバとして起動時から常駐させるようにします。
実際の、内部の処理は、ここでは割愛します。
「JavaScript」のファイル名は「server.js」として、下記の手順で実行します。
cd /path/server
node server.js
以下、すべて「root」ユーザ権限で。
2. サービスファイル
サービスファイルを作成します。
vi /etc/systemd/system/node-server.service
下記を記述します。
[Unit]
Description=node server
After=syslog.target network.target
[Service]
ExecStart=node /path/server/server.js
WorkingDirectory=/path/server
Restart=always
User=user
Group=user
[Install]
WantedBy=multi-user.target
「user」の箇所は、「HOME」ディレクトリを持つ、ログイン可能なユーザ、プロジェクトディレクトリのオーナーにします。
「node」は、「npm」でインストールしているものと、システムが用意しているものとが異なることがあります。
「npm」でインストールしている方を使う場合は、パスの記述が必要になります。
3. 登録・起動設定
サービスとして登録して、起動してみます
systemctl daemon-reload
systemctl start node-server
systemctl status node-server
おおむね、下記の表示になれば、成功です。
● node-server.service - node server
Loaded: loaded (/etc/systemd/system/node-server.service; disabled; preset: disabled)
Active: active (running) since Wed 2025-08-06 09:48:05 JST; 4s ago
Main PID: 9491 (node)
Tasks: 7 (limit: 22985)
Memory: 31.1M
CPU: 824ms
CGroup: /system.slice/node-server.service
└ 10775 node /path/server/server.js
8月 06 10:11:16 user systemd[1]: Started node server.
8月 06 10:11:16 user node[10775]: Puppeteer server running on port 3000
システム起動時に、起動するように設定。
systemctl enable node-server
4. 参考サイト
本ページは、「ChatGPT」くんを参考にさせていただきました。
|
|