我在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
我面临的问题 -
systemd [1]:my_nodejs.service:退出主进程,代码=退出,状态= 64 / n / a
systemd [1]:my_nodejs.service:Unit进入失败状态。
systemd [1]:my_nodejs.service:结果'exit-code'失败。
答案 0 :(得分:1)
发现了这个问题。 这是因为>>我添加了附加日志。 >>被视为Systemd
中的运算符