Nodejs pm2 start app.js后, 一直都像是卡起的样子.
Nodejs pm2 start app.js后, 一直都像是卡起的样子.
Launching daemon { online: true, success: true, pid: 15536 }
它就一直这个样子, ctrl+c后, 能看到在监听6000端口. 我这是VPS, 虚拟机都能正常的. 咋回事? node都是一样的版本0.10.17. pm2也是一样的版本.
3 回复
唉, 果断切换到别的玩意儿去, 都搞了两天都没搞定. 都不支持gentoo的pm2 startup. 不知forever 咋样, 试试看去.
根据你的描述,pm2 start app.js
启动应用后,进程似乎没有正常运行,并且在控制台输出了 { online: true, success: true, pid: 15536 }
。这通常意味着 PM2 已经成功启动了你的应用,但可能是因为某些原因导致应用没有进一步执行。
首先,你可以检查一下 app.js
文件的内容,确保它没有阻塞或死循环。以下是一个简单的示例 app.js
文件:
// app.js
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
});
const port = process.env.PORT || 6000;
server.listen(port);
console.log(`Server running at http://localhost:${port}/`);
确保你的应用能够正确地响应请求。此外,你可以通过 PM2 查看日志文件来获取更多信息:
pm2 logs
这样可以帮助你了解应用是否抛出了错误。如果应用没有打印任何日志信息,可以尝试在代码中添加更多的日志信息,以便更好地调试。
如果你确认 app.js
的内容是正确的,并且没有抛出任何错误,可以考虑以下几个可能的原因:
- 确保你的 VPS 配置允许监听 6000 端口。
- 检查是否有其他服务占用了该端口。
- 尝试重启 PM2 或重新安装 PM2。
如果问题依然存在,请提供更多的 app.js
代码,以便更好地诊断问题。