【问题标题】:pm2 not starting properlypm2 无法正常启动
【发布时间】:2021-04-11 03:14:57
【问题描述】:

我正在尝试在 bluehost 共享主机的 pm2 中启动 nodejs 应用程序。

我正在运行以下命令来启动服务器:

pm2 start ./bin/www

然后它显示以下消息并且服务器没有启动。

[PM2] Spawning PM2 daemon with pm2_home=/home4/[username]/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /home4/[username]/manufacturing/files/bin/www in fork_mode (1 instance)
[PM2] Done.

我尝试使用node ./bin/www 命令启动服务器并成功启动,但是当我使用pm2 时它无法正常工作。

当我运行pm2 list 时,它什么也没显示

[PM2] Spawning PM2 daemon with pm2_home=/home4/[username]/.pm2
[PM2] PM2 Successfully daemonized
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name               │ mode     │ ↺    │ status    │ cpu      │ memory   │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘

更新

[PM2] Spawning PM2 daemon with pm2_home=/home4/pineoran/.pm2
[PM2] PM2 Successfully daemonized
[TAILING] Tailing last 15 lines for [all] processes (change the value with --lines option)
Aborted

我该怎么办??

【问题讨论】:

  • 你也可以试试这个sudo pm2 restart ./bin/www
  • 不幸的是,我没有在共享主机中使用的 sudo 访问权限

标签: javascript node.js pm2


【解决方案1】:

您的 NodeJS 应用程序应该有一个要运行的主 js 文件。 转到项目路径,然后:

pm2 start server.js

这是我用的。然后在pm2 list,我的服务器进程正在运行。

【讨论】:

  • 我的主文件不是 js 文件,它是 ./bin/www 一个没有扩展名的文件,因为它是使用 express-generator 生成的 :(
  • @HelloWorld 尽管列表中没有显示,但您的服务是否正常工作?我的意思是..从外面
【解决方案2】:

使用1024以下的端口时,必须有superuser权限。在本地计算机中,我们大多有superuser权限,所以你可以用80端口启动你的节点服务器。但在服务器中,这取决于您的用户权限。如果您在服务器中有superuser 权限,您也可以使用 80 端口启动您的节点。但是,如果你没有,你只能使用1024以上的端口。

您可以简单地使用node ./bin/www 来启动服务器来检查出现什么样的错误信息。如果错误信息说您无法监听端口,那么您应该将您的port 更改为其他,例如3000、4000。然后使用node ./bin/www 重新启动服务器。如果你用node ./bin/www成功启动你的服务器,你也可以用pm2启动服务器。

最后,当您使用pm2 启动节点应用程序时,您应该使用完整的文件名。如果你的节点文件是www.js,你应该使用pm2 start www.js 而不是pm2 start www。但是,如果你的节点文件是www,你应该使用pm2 start www

更多关于List_of_TCP_and_UDP_port_numbers的细节。
有一节(知名端口)谈论特权端口。

【讨论】:

  • 我的共享主机没有superuser 权限。但是我可以使用node bin/www成功启动应用程序:(
  • @HelloWorld 您可以在使用pm2 start ./bin/www 后使用pm2 logs 来检查问题。 pm2 logs 的结果是什么?
  • 你使用了哪个端口?
  • 它在日志中没有显示任何内容。我已经编辑了这个问题。我正在使用端口 7070
  • @HelloWorld 如果它在您的本地计算机上工作,那么您的服务器和本地计算机中的 pm2 和 node 的版本是什么?当您在服务器中使用 node ./bin/www 时,它是否适用于 curl 7070 端口?
猜你喜欢
  • 1970-01-01
  • 2016-11-12
  • 2021-06-24
  • 1970-01-01
  • 2015-03-03
  • 1970-01-01
  • 1970-01-01
  • 2019-04-16
  • 2018-03-30
相关资源
最近更新 更多