我的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脚本示例