繁体   English   中英

PM2 和 Nginx:502 错误网关

[英]PM2 and Nginx: 502 Bad Gateway

我一直在尝试在全新的 DO droplet 上部署我的 Node 项目,但是我在使用 PM2 时遇到了一些问题。

我的步骤如下:

  1. Node 安装在 Droplet 映像上(Ubuntu,Node v4.4.4)
  2. 全局安装 PM2
  3. 设置 Nginx 反向代理 127.0.0.1:3000
  4. 克隆了我的项目并进行了 npm install

我得到的只是 Nginx 抱怨 502 Bad Gateway。

如果我查看 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 start ,效果很好。 我还尝试设置一个虚拟的 hello world 应用程序,并将其与 PM2 一起使用 - 它也有效。

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

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

我不确定从哪里开始..我可以跳过 PM2 并使用 node,但我确实想要 PM2 的功能。

有什么想法吗?

我只需要用bin/www而不是app.js来启动 PM2。 快递发电机和一切......

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

如果您使用--watch参数,它可能是一个问题。 它可能会检测更新日志并保持重新启动服务器。

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

下午2杀

rm -rf node_modules

我的

pm2 启动 bin/www

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM