我在chef-Cookbook中有一个upstart模板,并希望将其转换为Systemd,以便在16.04中支持它。我已经转换但遇到了问题,因为我的服务器无法正常启动。
以下是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;已启用; 供应商预设:已启用)活动:自周四以来失败(结果:退出代码) 2017-12-28 08:01:14 UTC; 6s ago Main PID:5842(code = exited, status = 64)
systemd [1]:my_nodejs.service:退出主进程,代码=退出, 状态= 64 / N / A