Chef-Cookbook に 1 つの新興テンプレートがあり、16.04 でサポートできるようにそれを Systemd に変換したいと考えています。変換は完了しましたが、サーバーが正常に起動しないため、問題に直面しました。
以下はupstartスクリプトです -
#!upstart
description "Server nodejs"
start on (local-filesystems and net-device-up IFACE!=lo)
stop on [!12345]
console log
setuid root
setgid www-data
chdir /srv/
exec /usr/local/bin/node /srv/my_service/src/cli/index.js >>/var/log/my_service/my_service_nodejs.log 2>&1
Systemdでの同じ変換は-
[Unit]
Description=Server nodejs
After=network.target
[Service]
User=root
Group=www-data
WorkingDirectory=/srv/
ExecStart=/usr/local/bin/node /srv/my_service/src/cli/index.js >>/var/log/my_service/my_service_nodejs.log 2>&1
[Install]
WantedBy=multi-user.target
私が直面している問題 -
- ノード js サーバーが実行されていません
- my_nodejs.service - サーバー nodejs ロード済み: ロード済み (/etc/systemd/system/my_nodejs.service; 有効; ベンダー プリセット: 有効) アクティブ: 失敗 (結果: 終了コード) 以降、Thu 2017-12-28 08:01:14 UTC; 6 秒前 メイン PID: 5842 (コード = 終了、ステータス = 64)
systemd[1]: my_nodejs.service: メイン プロセスが終了しました。コード = 終了しました。ステータス = 64/n/a
systemd[1]: my_nodejs.service: ユニットが失敗状態になりました。
systemd[1]: my_nodejs.service: 結果 'exit-code' で失敗しました。