Базовое приложение узла EC2 [тайм-аут шлюза 504] - PullRequest
0 голосов
/ 12 апреля 2019

Работает в течение пары часов, а затем я получаю ошибку тайм-аута 504 на серверной части приложения.

Экземпляр EC2 работает под управлением Ubuntu с nginx и PM2.

/etc/nginx/sites-available .conf file:

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?Он отлично работает на моей локальной машине.

Буду признателен за любые предложения.

1 Ответ

0 голосов
/ 04 июня 2019

Потратил на это часы.Оказывается, что PM2 и Nginx не всегда хорошо работают вместе, меняя конфигурацию Nginx и перезапуская Nginx и pm2, в конце концов, исправили проблему для меня.

В частности, добавив эти две строки:

proxy_set_header Connection '';
keepalive_timeout 10;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...