Node.js服务器在重启后没有启动

我的Node.js服务器upstart作业configuration:

start on (net-device-up and runlevel [2345] and started td-agent) stop on runlevel [016] respawn env HOME="/var/nodes" script chdir $HOME exec /usr/local/bin/node index.js -c app/config/live >> /var/log/node/server.log 2>> /var/log/node/server_error.log end script 

当我运行:

 initctl check-config node 

我懂了:

 node start on: unknown job td-agent 

服务器启动时,节点closures,但我可以手动启动它:

 service node start node start/running, process 1156 

编辑:如果我删除and started td-agent ,它启动时启动。 但是我需要在td-agent之后启动Node。 我该如何解决这个问题?

新贵似乎对td-agent一无所知。 那是因为新贵只承认新贵开始的工作。

可能td-agent是由/etc/init.d的脚本启动的。 如果是这样的话,你不能用upstart来启动node 要依靠td-agent

解决办法是不要使用暴发户。 你需要写一个新的脚本到/etc/init.d开始node

您必须在td-agent启动脚本之后运行它。 当你有你的脚本时,使用update-rc.d命令来定义它的启动时间。

这是一个示例最小启动脚本的链接。 这是为liferay,但只是修复环境variables,并用你自己的定义replacestart()和stop()函数。 liferay initd脚本示例