Nodejs forever无法启动
Nodejs forever无法启动
各位大神,我想把项目部署到正式使用的环境上面,看了下forever,我先在本机测试:
我已经安装好了forever:
npm install -g forever
然后我运行forever -help也都正常,我切换到我的项目目录下直接 node app是可以启动项目的,但是我用forever就不行:
forever start --minUptime 100 --spinSleep 100 -l xxx.log -a app.js
上面是我的启动命令,启动之后显示的信息:
info: No forever processes running
是不是我用的forever版本太新还是怎么了,我看到论坛和别的网站的介绍使用,都不行,难道是要修改程式代码吗?
我的系统是:win7的,NodeJS:10.8
Nodejs forever无法启动
各位大神,我在尝试将项目部署到生产环境时遇到了一些问题。我使用了 forever
来管理 Node.js 应用程序,但在本地测试时遇到了一些困难。以下是我遇到的具体情况:
已经安装好的 forever
npm install -g forever
验证安装
运行 forever -h
一切正常,这表明 forever
已经正确安装。
运行应用
在项目目录下直接运行 node app.js
可以成功启动项目,但使用 forever
却不行。
启动命令
我尝试使用以下命令来启动应用:
forever start --minUptime 1000 --spinSleepTime 1000 -l logs/forever.log -a app.js
错误信息
运行上述命令后,没有任何进程运行的信息输出:
info: No forever processes running
系统和环境
- 操作系统:Windows 7
- Node.js 版本:10.8.0
解决方案
首先,确认一下 forever
的版本是否与你的系统兼容。可以尝试以下步骤来排查问题:
-
检查
forever
版本forever -v
如果版本过新或过旧,可能会导致不兼容的问题。建议查看官方文档确认当前版本是否支持你所使用的 Node.js 和操作系统。
-
日志文件路径 确保日志文件路径是正确的,并且有写入权限。例如:
forever start --minUptime 1000 --spinSleepTime 1000 -l C:\path\to\your\logs\forever.log -a app.js
-
检查应用入口文件 确保
app.js
文件存在并且路径正确。你可以尝试直接运行该文件来确认它是否能正常工作。 -
简化命令 尝试简化命令来排除复杂参数的影响:
forever start app.js
-
检查 Node.js 版本 确认 Node.js 版本是否与
forever
兼容。你可以考虑更新 Node.js 到最新稳定版:nvm install 16.14.0 nvm use 16.14.0
通过以上步骤,你应该能够找到并解决 forever
无法启动的问题。如果问题依然存在,可以进一步查看 forever
的详细日志信息以获取更多线索。
我是切到我想买的目录下运行forever的命令:
forever start --minUptime 100 --spinSleepTime 100 -l xxx.log -a app.js
结果显示的信息是:
info: Forever processing file: app.js
然后我再浏览器中输入地址却什么都没有,日志里面的错误信息是:
events.js:72
throw er; // Unhandled ‘error’ event
^
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
我想买中使用express,可是我直接node app却没有任何错误信息,请问是怎么回事?
不太熟悉参数的用法, 我之前用的 forever start app.js
那样是都正常的.
要不也试试看?
我也试了这个:
D:\GitHub\xxx>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
D:\GitHub\xxx>
然后浏览器中打不开,
不晓得了, 看看 log 里有没有能找线索的吧. 等待大神来看问题
是不是大家使用forever都很顺畅啊?
另外值得注意的是forever在win7中安装v0.84+的时候会有问题的,你可以安装个v0.83版本试下 npm install forever=0.8.3
forever不是很成熟, 在生产环境ubuntu下,我使用node-foreman + cluster。
有没有可以类似forever的工具使用啊?我看了一个nssm的,但是是透过服务的方式使用,而且资料也是很少,
forever start -a -l forever.log -o out.log -e err.log app.js
我的命令和16#一样 一般偷懒的时候直接使用forever start -a -l forever.log app.js 这样
然后通过tail -f ~/.forever/forever.log来查看
从你的描述来看,forever
没有成功启动你的Node.js应用。通常这种问题可能由多种原因引起,包括但不限于路径问题、权限问题或者命令参数配置不当。
首先,确保你正在项目根目录下运行命令,并且app.js
文件确实存在。其次,检查命令是否正确。以下是基于你提供的信息调整后的命令示例:
forever start --minUptime 1000 --spinSleepTime 1000 -l logs/xxx.log -a app.js
这里有几个关键点需要注意:
--minUptime
和--spinSleepTime
的时间单位应该是毫秒,所以如果你希望它们等待至少1秒,则应设置为1000而不是100。- 确保日志文件夹(例如
logs/
)存在,否则forever
会尝试创建它。 -a
参数表示追加到现有日志文件中,如果该文件不存在则会被创建。
另外,你可以尝试查看forever
的日志来获取更多信息,通过以下命令:
forever list
这将列出所有被forever
管理的进程及其状态。如果上述方法仍不能解决问题,可以尝试更新forever
到最新版本,因为可能存在一些已知的问题已经被修复。
最后,考虑到你是在Windows 7上工作,某些功能可能不受支持或行为与预期不同。如果可能,建议升级到一个更新的操作系统版本,以获得更好的兼容性和性能。