PM2和Nginx:502坏网关



我一直试图在一个全新的DO液滴上部署我的Node项目,但我在PM2。

我的步骤如下:

  1. Node安装在Droplet镜像上(Ubuntu,Node v4.4.4)
  2. 全球已安装PM2
  3. 将Nginx设置为反向代理127.0.0.1:3000
  4. 克隆了我的项目并安装了npm

我得到的只是Nginx抱怨502坏网关。

如果我查看Nginx error.log,我会得到以下信息:

connect()在连接到时失败(111:连接被拒绝)上游,客户端:client.ip,服务器:my.server,请求:"GET/HTTP/1.1",上游:http://127.0.0.1:3000/",主机:">my.server">

PM2没有什么好说的。pm2日志中没有任何内容,状态为联机

我试着跳过PM2,只做npm启动,效果很好。我还尝试建立一个虚拟的helloworld应用程序,并将其用于PM2。

所以这就是我目前的位置:

  • 我的项目+PPM:不起作用
  • 我的项目没有PM2:工作
  • Hello World应用程序+PM2:有效

我真的不确定从这里到哪里去。。我可以跳过PM2并使用node,但我确实想要PM2的功能。

有什么想法吗?

我只需要用bin/www启动PM2。。。

Nginx有一个名为proxy_read_timeout的指令,默认为60秒。它决定nginx等待多长时间才能得到对请求的响应。在nginx。conf文件,将proxy_read_timeout设置为120秒解决了我们的问题。

在我的例子中,我将app.js重命名为project.js或其他什么,它就起作用了。

这是节点安装的一些问题。删除node_modules文件夹,使用npm重新安装,并使用pm2启动项目。

pm2杀死

rm-rf节点模块

npm i

pm2启动bin/www-

最新更新