我有一个包含应用程序内容的项目文件夹,要手动启动它,我运行nohup npm start &
然后放弃 proc。
我想想办法把它变成一个service mynodeapp {start|stop|restart|etc}
命令。
我也知道 Ubuntu(和一般的 Debian)正在弃用 SysV 初始化脚本,并建议使用 upstart 配置而不是/etc/init/*.conf
.
我将如何编写一个暴发户配置start-stop-daemon
?
谢谢。
我会用最适合我的解决方案自己回答这个问题。
经过一番挖掘,我决定承担阅读新贵文档的负担,并在以下内容中提出了以下内容/etc/init/myapp.conf
:
# Node.js app config
description "Node.js app upstart config"
author "George K."
# Starting conditions
start on (local-filesystems and net-device-up IFACE=eth0)
# Stopping conditions
stop on shutdown
# If parent or any child exits, respawn
respawn
# The deed
script
export HOME="/root"
export WORKER_COUNT=4
exec /usr/local/bin/node /path/to/app >> /var/log/app.log 2>&1
end script
路径:/etc/init/myapp.conf
使用此命令使文件可执行
chmod +x myapp.conf
myapp.conf
来源:
description "App Server"
author "Author"
start on (filesystem and net-device-up IFACE=lo)
stop on runlevel [!2345]
respawn
# if your app use port
env PORT=8080
chdir /home/domain/public_html/chat/
exec node index.js