使用 pm2 启动 node.js 应用程序:来自 proxy_verse 服务器的错误网关

starting node.js app with pm2 : bad gateway from proxy_verse server

在我的服务器 1 上,我 运行 nginx 作为 reverse_proxy 到服务器 2,它在端口 3000 上 运行 宁一个 node.js 应用程序(完整的 MEAN 堆栈)

当我用 g运行t 启动 server2 时,一切正常 运行ning

-- server2 ---
cd /opt/mean
grunt  # running server.js , MEAN app

作为下一个学习步骤,我尝试在 server2 上使用 pm2 来监控我的测试网络应用程序。我安装了 pm2 和 运行

-- server2 ---
cd /opt/mean
pm2 start server.js

得到了

        [PM2] restartProcessId process id 0
    [PM2] Process successfully started
    ┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────────────┬──────────┐
    │ App name │ id │ mode │ pid  │ status │ restart │ uptime │ memory      │ watching │
    ├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────────────┼──────────┤
    │ server   │ 0  │ fork │ 2182 │ online │ 14      │ 0s     │ 10.867 MB   │ disabled │
    └──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────────────┴──────────┘
     Use `pm2 show <id|name>` to get more details about an app
    yves@gandalf:/opt/mean$ pm2 show server
    Describing process with id 0 - name server
    ┌───────────────────┬─────────────────────────────────────────┐
    │ status            │ errored                                 │
    │ name              │ server                                  │
    │ id                │ 0                                       │
    │ path              │ /opt/mean/server.js                     │
    │ args              │                                         │
    │ exec cwd          │ /                                       │
    │ error log path    │ /home/yves/.pm2/logs/server-error-0.log │
    │ out log path      │ /home/yves/.pm2/logs/server-out-0.log   │
    │ pid path          │ /home/yves/.pm2/pids/server-0.pid       │
    │ mode              │ fork_mode                               │
    │ node v8 arguments │                                         │
    │ watch & reload    │ ✘                                       │
    │ interpreter       │ node                                    │
    │ restarts          │ 28                                      │
    │ unstable restarts │ 0                                       │
    │ uptime            │ 0                                       │
    │ created at        │ N/A                                     │
    └───────────────────┴─────────────────────────────────────────┘
    Process configuration

    Revision control metadata
    ┌──────────────────┬─────────────────────────────────────────────┐
    │ revision control │ git                                         │
    │ remote url       │ https://github.com/meanjs/mean.git          │
    │ repository root  │ /opt/mean                                   │
    │ last update      │ 2015-09-04T15:02:21.894Z                    │
    │ revision         │ 3890aaedf407151fd6b50d72ad55d5d7566a539b    │
    │ comment          │ Merge pull request #876 from codydaig/0.4.1 │
    │ branch           │ master                                      │
    └──────────────────┴─────────────────────────────────────────────┘

当我尝试在浏览器中请求我的应用程序时,我现在收到来自服务器 1 的错误

502 错误网关 nginx/1.4.6 (Ubuntu)

我是否必须在 nginx 默认配置中添加或更新任何内容,因为 proxy_pass 指令指向 http://:3000

非常感谢您的反馈,祝 2016 年新年快乐!

"pm2 show" 表明您的节点服务器出错,所以它可能不是 运行。如果你拖尾错误日志,你会看到什么?它应该有一些关于这个问题的细节

我认为代理错误可能是因为节点不是运行