nodejs forever:如何运行我的npm应用程序

时间:2014-12-03 14:18:12

标签: node.js forever

现在我将我的nodejs应用程序运行为npm start。我想在后台运行它。我为此找到了forever包但不知道如何运行我通常以npm start运行的应用程序。那么如何使用forever运行它?

我关注this SO但收到此错误:

ENVIRONMENT=production 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

除此之外还有其他更好的方法在后台运行nodejs吗?

3 个答案:

答案 0 :(得分:22)

你做对了。

警告只是提醒您缺少某些基本信息,因此它会分配默认值。确切地说,如果您的脚本在开始后很快崩溃/退出,永远也会退出。


如果您想摆脱这些警告:

forever start --minUptime 1000 --spinSleepTime 1000 app.js 

此外,您可以打开package.json文件,找到:

  "scripts": {
    "start": "node app.js"
  },

并将其更改为:

  "scripts": {
    "start": "forever start --minUptime 1000 --spinSleepTime 1000 app.js",
    "stop":  "forever stop app.js"
  },

现在您可以使用npm start,它会自动调用forever

答案 1 :(得分:2)

2020年

使用forever npm软件包(https://www.npmjs.com/package/forever

永远启动-c“ npm <命令>” / path / to / app / dir /

示例

./表示当前目录

永远启动-c“ npm start” ./

答案 2 :(得分:-1)

适用于Linux 使用终端并进入超级用户模式,并尝试这些代码

$ nohup node <location of of js file> &
$ exit

注意:这&#39;&amp;&#39;必须在按Enter键之前

或对于npm命令,只需通过cd命令转到存储package.json的位置。然后

$ nohup npm start &
$ exit

注意:这&#39;&amp;&#39;必须在按Enter键之前

停止

$ top

您可以在此处查看进程ID,然后使用以下代码

$ kill -9 <PROCESS_ID>