Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js和Forever“;已退出,代码为:0“;_Javascript_Node.js_Express_Forever - Fatal编程技术网

Javascript Node.js和Forever“;已退出,代码为:0“;

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:

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:    --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!!感谢您的帮助,现在我的应用程序已启动并运行。这太棒了!