工作几个小时,然后在应用程序后端收到504网关超时错误。
EC2实例正在使用Nginx和PM2运行ubuntu。
/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上进行故障排除呢?它可以在我的本地计算机上完美运行。
任何建议将不胜感激。
答案 0 :(得分:0)
为此花费了几个小时。事实证明,PM2和Nginx不能总是很好地协同工作,更改Nginx配置并重新启动Nginx和pm2最终为我解决了这个问题。
具体来说,添加以下两行:
proxy_set_header Connection '';
keepalive_timeout 10;