在我的CentOS服务器的/etc/init/目录中的.conf文件中有以下内容:
#!upstart
description "shortnr server for fmc.io"
author "Felix Milea-Ciobanu"
start on startup
stop on shutdown
respawn
respawn limit 10 30
script
export HOME="/root"
exec /usr/local/bin/node /var/www/fmc.io/nodejs/app.js >> /var/www/fmc.io/logs/shortnr.upstart.log 2>&1
end script
pre-start script
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> /var/www/fmc.io/logs/shortnr.upstart.log
end script
pre-stop script
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> /var/www/fmc.io/logs/shortnr.upstart.log
end script这是一个非常简单和直接的初创脚本。我将此服务命名为shortnr,以脚本启动的nodejs软件命名。
在命令行中,如果我输入start shortnr,就会得到类似于shortnr start/running, process 28350的内容。
但是,我似乎无法访问nodejs服务器;如果我在命令外壳中执行ps aux | grep shortnr,什么也不会出现。
如果我在运行start之后执行stop shortnr,我会得到stop: Unknown instance:,这意味着原始服务从未启动。
我在Upstart脚本中设置的日志文件如下所示:
[2012-10-05T17:00:17.174Z] (sys) Starting
[2012-10-05T17:00:17.181Z] (sys) Starting
[2012-10-05T17:00:17.190Z] (sys) Starting
[2012-10-05T17:00:17.197Z] (sys) Starting
[2012-10-05T17:00:17.204Z] (sys) Starting基本上,当我发出start命令时,脚本每秒尝试启动多次,这意味着服务必须在启动或其他什么地方崩溃,并试图重新生成?
但是,如果我在exec之后复制命令并将其粘贴到shell提示符中,那么nodejs脚本将启动并正常运行。
所以这意味着我的Upstart脚本一定有问题。
如果我尝试使用initctl命令启动/停止服务,则得到相同的结果。
我运行的是CentOS 6.3和Upstart 0.6.5
有谁知道是什么导致了这个问题,或者如何修复我的脚本?
发布于 2012-10-11 03:03:55
虽然我找不到问题的答案,但我最终使用的是永远:https://github.com/nodejitsu/forever-monitor
https://stackoverflow.com/questions/12751144
复制相似问题