服务器重启时,无法让我的Upstart脚本运行Node.js和Forever

lit*_*m84 5 restart init upstart ubuntu-server node.js

我最近一直在设置我的服务器,今天我不得不重新启动它...然后我意识到我运行的所有Node应用程序都不再运行了.我正在使用Node Forever模块来保持应用程序运行,但后来我意识到我仍然需要在服务器重新启动或关闭并再次启动时启动它们.

我一直在研究这种方法的最佳方法,但我正在尝试的似乎并不起作用.我/etc/init/在我的Ubuntu Server 10.04LTS远程服务器上的文件夹中创建了一个Upstart脚本,并尝试重新启动它似乎什么也没做.我跑的时候没有列出任何东西forever list.

这是我今天尝试的当前Upstart脚本:

#/etc/init/myapp.conf

start on (local-filesystems and net-device-up IFACE=eth0)
stop on shutdown

script

    exec sudo /usr/local/bin/node /var/www/myapp/myapp.forever.js
end script
Run Code Online (Sandbox Code Playgroud)

我在Node脚本中使用Forever,因为我发现它更容易配置它我想要的.如果我在脚本之外执行此操作,则确认脚本运行正常,Upstart脚本本身有问题.它似乎与/etc/init/文件夹中的所有其他Upstart脚本具有相同的权限.

另外需要注意的是,我已经完成了StackOverflow上几乎所有可以找到的答案,以及我如何将目前的脚本集中在一起.

更新:

有汤姆的回答,我现在尝试过:

#/etc/init/myapp.conf

start on (local-filesystems and net-device-up IFACE=eth0)
stop on shutdown

exec sudo /usr/local/bin/node /var/www/myapp/myapp.forever.js
Run Code Online (Sandbox Code Playgroud)

但它仍然无法正常工作.

所以当我重新启动服务器时,我不知道为什么这不会运行.请帮忙!

Tom*_*Tom 0

您是否尝试在没有启动脚本行的情况下执行此操作?

description "my server"
author  "name"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on shutdown

#respawn if you were not using forever

exec sudo /usr/local/bin/node myapp.forever.js
Run Code Online (Sandbox Code Playgroud)

来源: http: //caolanmcmahon.com/posts/deploying_node_js_with_upstart