【发布时间】:2018-03-01 01:17:25
【问题描述】:
我有一个 nodejs 程序在几个月内一直在运行 https://www.npmjs.com/package/forever(在 Ubuntu 16.04.2 LTS 上)。我没有问题(我有节点 v6.11.1)。
但我最近想使用一个名为bottleneck的包,出于某些原因(因为异步语法错误)我想更新我的nodejs。
所以我按照他的提示updating nodejs on ubuntu 16.04(问题即将出现),
我已经执行了:
sudo npm install -g n
sudo n lts
我注意到我的应用程序已停止在 forever list。所以运行:
forever start -o out.log -e err.log app.js
但是我的应用程序仍然在forever list 中停止,并且没有运行 app.js 任务(使用 htop 检查)。我检查 err.log 并发现此错误消息:
Error: listen EACCES 0.0.0.0:80
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at Server._listen2 (net.js:1245:19)
at listen (net.js:1294:10)
at Server.listen (net.js:1390:5)
at Object.<anonymous> (/home/esu/pixelland006/app.js:35:6)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
我尝试了不同的版本,但没有。它仍然不起作用。所以我运行sudo n 6.11.1 回到v6.11.1 并卸载了n。我搜索了一下,发现可能是权限问题。现在我使用nmv 而不是n,但它仍然不起作用,我的应用程序仍然在forever list 中被阻止。
但我注意到一些非常奇怪的事情, 当我跑步时:
forever start -o out.log -e err.log app.js
我的应用程序在 forever list 中被阻止并且没有运行 app.js 任务(使用 htop 检查),但是当我这样做时:
sudo forever start -o out.log -e err.log app.js
forever 告诉我我的应用在 forever list 中被阻止,但我看到我的 app.js 任务正在运行。
几个月以来一直有效,但自从我尝试更新 nodejs 后,就永远不再有效了。
现在我怎样才能永远运行我的应用程序?
提前谢谢你
【问题讨论】:
标签: node.js task port node-modules forever