1

这是我在 Ubuntu 11.04 上遇到的一个问题,我为 Node 和 Nginx 制作了两个 upstart 脚本。我将在这里使用 Node 作为示例。我使用的是相当标准的设置,如http://howtonode.org/deploying-node-upstart-monit 之类的教程:

start on started mountall
stop on shutdown

respawn
respawn limit 5 60

sudo -u username /usr/local/bin/node /path/to/app.js 2>&1 >> /var/log/node.log

使用“启动应用程序”开始正常。但是后来我手动杀死了节点进程以强制重启,不幸的是暴发户没有重新启动它。事实上,无论我做什么,暴发户都不会重生它。它显示了以下内容,但根本没有启动 Node:

> sudo start app
app start/running, process 15211
> sudo stop app
stop: Unknown instance: 
> sudo status app
app stop/waiting
4

1 回答 1

1

尝试将代码的 sudo 部分更改为以下内容。我知道你必须包括 export home 虽然我没有看到任何文件说明原因。您正在将“sudo -u username”的位置更改为将运行此代码的用户名正确吗?您还更改了服务器上 app.js 正确位置的路径吗?

script  
    export HOME="/root"  
    exec sudo -u username /usr/local/bin/node /path/to/app.js 2>&1 >> /var/log/node.log  
end script  

我不确定这是否会有所帮助,但我看到有些人替换:

start on started mountall  

start on (local-filesystems and net-device-up IFACE=eth0)
于 2011-09-28T05:20:26.683 回答