Node.js – 无法永久运行节点服务器

我正在尝试使用永久命令运行节点服务器。 我永远安装在全球使用:

npm install forever -g 

永久安装后,我尝试使用下面的命令来运行我的节点脚本:

 node_modules\.bin\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 f or at least 1000ms info: Forever processing file: app.js 

请帮我解决这个问题!

这里没有任何问题,除了configuration警告永远build议你申报。 如果你看到最后的消息,它会告诉你它已经处理了你的脚本。 只要运行forever list ,你应该看到你的脚本运行。

当我通过yum版本库( yum install npm )安装npm时,遇到了同样的情况,然后永远安装,而当我通过shell脚本安装node和npm,然后永远安装时,它不会发生。 它必须与包安装程序的公式有关,或者可能会丢失具有安装程序标志的别名,以便在场景后面设置这些值。

这些并不意味着它不工作。 见下面我使用来自节点的站点的示例代码创build了一个js文件,并手动运行它(我刷新防火墙暂时打开应用程序的端口,但你不需要):

 [root@app1 ~]# vi example.js [root@app1 ~]# apf -f apf(23924): {glob} flushing & zeroing chain policies apf(23924): {glob} firewall offline [root@app1 ~]# node example.js Server running at http://127.0.0.1:1337/ 

然后我开始使用应用程序永远:

 ^C[root@app1 ~]# forever start example.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: example.js 

现在我检查我的应用程序是否正在运行:

 [root@app1 ~]# forever list info: Forever processes running data: uid command script forever pid logfile uptime data: [0] dan1 /usr/bin/node example.js 23976 23978 /root/.forever/dan1.log 0:0:0:27.320 [root@app1 ~]# 

这解决了我的问题:

 forever start -c node [path/to/app] 

“-c”表示 – 运行commnad; 然后通过nodejs运行

这样 – 默认情况下你获得了重生。 1000ms正常运行时间

取自: https : //github.com/nodejitsu/forever/issues/422 ,由“Basarat”

首先停止所有运行中的应用

 forever stopall 

然后使用这个命令。 它适用于我,解决了我的问题:

 forever -w ./bin/www 

你应该在package.json文件中find它:

 "scripts": { "start": "node ./bin/www" } 

我希望它可以帮助你。

有一样东西也会产生同样types的输出,但是不会启动应用程序,如果forever不能写入指定的日志文件。 我有一个情况,日志文件变得太大,这阻止了进程启动。

首先改变你的package.json脚本

 "scripts": { "start": "forever ./bin/www.js" } 

比在Linux控制台上启动这个命令:sudo npm start

对于Windows只是:npm开始

如果你设置一个模块globaly(-g选项),“永远”在$path中

 forever start app.js 

应该pipe用。