1

我在 chef-Cookbook 中有一个新贵模板,并希望将其转换为 Systemd,以便在 16.04 中支持它。我已经转换,但由于我的服务器无法正常启动而面临问题。

以下是暴发户脚本 -

#!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 起失败(结果:退出代码)世界标准时间; 6 秒前 Main PID: 5842 (code=exited, status=64)
  • systemd[1]: my_nodejs.service: 主进程退出,code=exited,status=64/n/a

    systemd[1]: my_nodejs.service: 单元进入失败状态。

    systemd [1]:my_nodejs.service:失败,结果为“退出代码”。

4

1 回答 1

1

发现问题。这是因为我为附加日志添加的>>。>> 在 Systemd 中被视为运算符

于 2018-02-16T07:08:14.943 回答