Laravel 502 Bad Gateway Nginx, когда это высокий трафик - PullRequest
0 голосов
/ 29 июня 2018

Я использую приложение Laravel, ниже мой код конфигурации nginx:

server {
    listen 80;
    server_name domain.com;
    root /var/www/project/public;

    index index.html index.htm index.php index.nginx-debian.html;

    charset utf-8;
    location ~ /.well-known {
                allow all;
        }
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log off;
    error_log  /var/log/nginx/domain.log error;

    sendfile off;

    client_max_body_size 100m;

    location ~ \.php$ {
      include snippets/fastcgi-php.conf;
      fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Журнал ошибок

2018/06/29 08:41:30 [error] 928#928: *14875 connect() to unix:/run/php/php7.0-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: IP, server: IP, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "IP"

Что-то не так с моим конфигом? У меня тяжелые серверы с 32 ГБ оперативной памяти, SSD и процессором: 2x E5-2670 0 @ 2,60 ГГц. Я использую Ubuntu с NGINX.

Пожалуйста, дайте мне знать, я изменил много серверов, но не смог избавиться от этой проблемы.

1 Ответ

0 голосов
/ 29 июня 2018

Проверьте ваши логи php-fpm, чтобы увидеть, умирает ли nginx. Вы получаете сообщение об ошибке: Nginx сообщает, что сервер, к которому он обращается, не отвечает. Это может быть проблема с сетью, если они находятся на двух разных машинах, может быть из-за того, что не хватает рабочих для удовлетворения всех входящих запросов, это может быть от OOM killer на VPS, убивающем процесс. Тот факт, что сервер имеет массу ОЗУ, не означает, что он не подвержен исчерпанию памяти. У меня был клиент с сайта Magento, который в конце дня сообщал об ошибках памяти на сервере с похожими характеристиками из-за плохо закодированного плагина.

Я только что увидел, что вы разместили строку из своего журнала. Проверьте ваш файл pool.conf на следующее:

process.max, pm.max_children, pm.min / max_spare_servers

Это лишь некоторые из вещей, которые могут понадобиться для настройки в условиях интенсивного движения.

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