我已经获得了以下我尝试在启动时运行的服务。我已经制作了服务档案:
[Unit]
Description=Denny node server start
[Service]
WorkingDirectory=/home/root
Type=forking
Restart=always
StandardOutput=syslog
User=nobody
Group=nobody
RemainAfterExit=true
ExecStart=/usr/bin/node /home/root/server.js
KillMode=process
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
我已将此删除到/ etc / systemd / system /然后我运行
systemctl daemon-reload
然后
systemctl start denny
无。没有服务器启动。好的,我检查一下:
root@denny:~# systemctl status denny
我回来了:
● denny.service - Denny node server start
Loaded: loaded (/etc/systemd/system/denny.service; enabled)
Active: active (exited) (Result: exit-code) since Fri 2015-02-13 17:13:21 UTC; 29min ago
Main PID: 225 (code=exited, status=8)
CGroup: /system.slice/denny.service
Feb 13 17:41:40 denny systemd[1]: Started Denny node server start.
我可能会记错,但似乎完全我在Debian上做了什么,它运行良好,即它保持服务运行并按照应有的方式运行。我在这个.service文件中遗漏了哪些东西会告诉默认的Linux让爱迪生继续运行吗?
答案 0 :(得分:0)
这个答案仅适用于Node.js的答案,但是一个解决方案(和我一起使用的那个)是将我的节点应用程序放在文件系统的/ node_app_slot中,并在/ node_app_slot中使用以下package.json:
{
"name": "sample",
"description": "",
"version": "0.0.0",
"main": "main.js",
"engines": {
"node": ">=0.10.0"
},
"dependencies": {
}
}
这允许XDK守护程序在启动时选择并运行Node应用程序。相当轻松,简单,但没有很好的记录。