EC2 节点后端应用程序 [504 网关超时]

EC2 Node backend app [504 gateway timeout]

工作了几个小时,然后我在应用程序后端收到 504 网关超时错误。

EC2 实例 运行 ubuntu with nginx 和 PM2.

/etc/nginx/sites-available.conf 文件:

server {
  listen 80;
  server_name mydomain.com;
  root /home/ubuntu/app;
  index index.html;

  access_log /var/log/nginx/app.access.log;
  error_log /var/log/nginx/app.error.log;
  location / {
    try_files $uri /index.html =404;
  }
}

server {
    listen 8080;
    server_name mydomain.com;
    location / {
      proxy_pass http://127.0.0.1:3000;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_set_header Host $host;
      proxy_cache_bypass $http_upgrade;
      proxy_redirect off;
     }
}

我相信我的配置是正确的,因为它可以正常工作,但只能持续几个小时。然后我得到了错误。 PM2 实例仍然在线并且 运行。我认为这可能是由于某种原因节点应用程序崩溃,但我如何在 ubuntu EC2 上解决此问题?它在我的本地机器上完美运行。

如有任何建议,我们将不胜感激。

为此花费了数小时。原来 PM2 和 Nginx 并不总是一起工作,更改 Nginx 配置并重新启动 Nginx 和 pm2 最终为我解决了这个问题。

具体来说,添加这两行:

proxy_set_header Connection '';
keepalive_timeout 10;