502 005_ общие ошибки

Распространенные ошибки 502

1. Ошибка конфигурации

Поскольку Nginx PHP-FPM не найден, так что ошибка, как правило, расположена позади fastcgi_pass неправильного пути, он может следовать сокет или IP: порт;

2. Истощение ресурсов

lnmp архитектура при работе с PHP, Nginx прямого извлечения фоновых услуг PHP-FPM, если запрошенный объемом Nginx максимума, мы не имеем достаточно конфигурацию PHP-футов в минуте ребенка, то PHP-FPM ресурсы будут исчерпаны раз истощения ресурсов Nginx PHP-FPM не найти 502 ошибок;

Решение:
для регулировки значения pm.max_children PHP-fpm.conf в, увеличивается, но не может расти до бесконечности, в конце концов, ограниченные ресурсы, вообще машина памяти 4G , если работает PHP-FPM и Nginx, не запускать MySQL может быть установлен на 150 , 8G 300 и так далее;

3. Другие причины

Кроме того, существуют и другие причины для двух указанных выше ошибок, редко, мы можем помочь устранение неисправностей в журнале ошибок Nginx:

cat /usr/local/nginx/logs/nginx_error.log

Мы также можем определить уровень в журнал: ВИМ / USR / местные / Nginx / CONF / nginx.conf найти error_log, по умолчанию является самым строгим крит на линии, вы можете также изменить отображение наиболее полную информацию отладки, но это легко взорвать наш диск.

Файл конфигурации 3.1 Modify Nginx

Во-первых, нам нужно разрешить доступ через браузер

vim/usr/local/nginx/conf/vhosts/111.conf

server
{
   listen 80;
   server_name www.111.com;       // 域名地址
   index index.html index.htm index.php;
   root /data/www/;
   location ~ \.php$ {
       include fastcgi_params;
       fastcgi_pass unix:/tmp/www.sock;  // 修改sock
      #fastcgi_pass 127.0.0.1:9000;
       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
    }
}

3.2 Проверка грамматики нормально

/usr/local/nginx/sbin/nginx -t

3.3 загрузить файл конфигурации

/usr/local/nginx/sbin/nginx-s reload

/etc/init.d/nginx reload

3.4 Проверка, какой пользователь работает Nginx

ps aux |grep nginx

3,5 редактировать файл PHP-FPM

Мы хотим, чтобы установить домашний Nginx PHP-FPM пользователя в этом документе, с группой так, чтобы не отображать 502

vim/usr/local/php/etc/php-fpm.conf

[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log =/usr/local/php/var/log/php-fpm.log
[www]
listen = /tmp/www.sock
user = php-fpm
group = php-fpm
listen.owner = nobody    //定义属主
listen.group = nobody    //定义属组
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

3,6 рестарт PHP-FPM

/etc/init.d/php-fpm restart

Добавлено: Последние проблемы , с которыми сталкиваются многие студенты
в этом случае, используя сокет, выше , чем версия 5.4 (включая 5.4) права доступа к файлам по умолчанию слушающий сокет является владельцем только для чтения, а другая группа пользователей , без какого - либо разрешения. Таким образом, Nginx запуск клиента (наша конфигурация никого нет) нет никакого способа , чтобы прочитать файл сокета, в результате чего 502, эта проблема может быть найдена в журнале ошибок Nginx. Решение является простым, учитывая профиль вышеуказанной конфигурации должен будет избежать этой проблемы.

listen.owner = nobody    //定义属主
listen.group = nobody    //定义属组

Эти две конфигураций определение того, кто экипировка владельца и группы Да. В дополнение к этому есть способ

listen.mode = 666

Так что никто не может иметь разрешение на чтение.

рекомендация

отwww.cnblogs.com/cy-8593/p/12333631.html