现在我将我的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吗?
答案 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>