Javascript Node.js和Forever“;已退出,代码为:0“;
CentOs 6.5使用根帐户,我有一个工作Node.js Express应用程序:Javascript Node.js和Forever“;已退出,代码为:0“;,javascript,node.js,express,forever,Javascript,Node.js,Express,Forever,CentOs 6.5使用根帐户,我有一个工作Node.js Express应用程序: root@vps [/home/test/node]# npm start app.js > test@0.0.1 start /home/test/node > node ./bin/www app.js 可以看到该应用程序正在互联网浏览器上运行。我停止应用程序并尝试永远运行它: root@vps [/home/test/node]# forever start app.js warn:
root@vps [/home/test/node]# npm start app.js
> test@0.0.1 start /home/test/node
> node ./bin/www app.js
可以看到该应用程序正在互联网浏览器上运行。我停止应用程序并尝试永远运行它:
root@vps [/home/test/node]# forever start app.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: app.js
root@vps [/home/test/node]#
抛出几个不应该是问题的警告,看起来应该可以正常工作,但不会显示在浏览器上,永久列表:
root@vps [/home/test/node]# forever list
info: Forever processes running
data: uid command script forever pid id logfile uptime
data: [0] OkGm /usr/local/bin/node app.js 32222 32227 /root/.forever/OkGm.log STOPPED
root@vps [/home/test/node]#
如果我检查OkGm.log:
error: Forever detected script exited with code: 0
当我用forever运行应用程序时,为什么它不工作?好的,我知道发生了什么。我试着跑:
forever start app.js
当此Express应用程序必须以以下方式启动时:
forever start ./bin/www
通过错误日志输出(“退出代码:0”)搜索时,internet上没有有用的信息,因此,我希望这个答案能帮助像我这样的乞丐,我认为这可能是一个容易犯的错误。退出应用程序的原因应该在日志中代码为0的
错误:永久检测脚本退出之前。很可能是EACCES
错误或类似错误。@t.niese日志文件中没有其他内容,只有那一行。当我再次尝试运行它时,forever会再次创建另一个同名的日志文件。然后,您可以使用try
-catch
块抑制错误消息,或者使用打开('error',…)
,但不会以通知您express server(?)将启动的方式对其进行处理。或者你做一个检查,如果你可以启动它,但没有成功,你没有启动它。不管原因是什么,只有你能找到原因。我建议您在应用程序中添加一些日志记录。所以你可以检测哪些步骤被执行,哪些没有。嘿,我想我有同样的问题,得到同样的错误。但是我看不到任何日志,当我尝试永久列表时,收到消息说没有服务正在运行。那么,您实际上是如何运行您的文件的呢?它是否像/bin/www/app.js
?这个解决方案真的是一个救命稻草。没有关于如何在express-generator生成的nodejs项目上永久应用的文档(至少我找不到文档)。哇,这是我浏览器的另一个fav!!感谢您的帮助,现在我的应用程序已启动并运行。这太棒了!