Nginx + PHP-FPM = 502 недопустимых шлюза

Исследуйте для Кактусов. Это - действительно хороший инструмент и открытый исходный код.

0
задан 13 December 2012 в 22:34
4 ответа

Поскольку я не могу добавить комментарий, я отправлю его в качестве ответа ...

Проверьте /etc/php5/fpm/pool.d/www.conf (или находящийся там файл), если он настроен на работу через сокет TCP или UNIX. Также проверьте, действительно ли работает PHP. И посмотрите файлы журналов /var/log/php5-fpm.log или / var / log / php5-fpm / * и / var / log / nginx / * (зависит от настроек).

Вы должны найти причину ошибки там.

4
ответ дан 4 December 2019 в 11:30

Ошибка неверного шлюза означает, что процесс php отвечает с ошибкой. Можете ли вы проверить журнал ошибок php? Также попробуйте разместить файл test.php с помощью @ / srv / www /, а затем попытайтесь попасть в этот домен прямо из командной строки вашего сервера ala:

curl http://127.0.0.1:9000/test.php;

вы проверили очевидные вещи вроде у вас есть файл @ /srv/www/index.php? Вы запускали ps aux и grepped для nginx и php, чтобы убедиться, что они работают?

Как насчет выполнения: netstat -an | grep LISTEN , чтобы убедиться, что демон php-fpm слушает?

1
ответ дан 4 December 2019 в 11:30

В моем случае решения были следующие:

1- Чтобы изменить список, например @David:

sudo nano /etc/php/7.0/fpm/pool.d/www.conf

При поиске файлов прослушайте = , прокомментируйте ... sock и добавьте 127.0.0.1:9000[12131pting2- Изменить конфигурацию сайта Nginx (например, /etc/nginx/sites-available/mysite.com)

server {
       .
       .
       . 
location ~ \.php$ {
       .
       .
       .
 #fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
 fastcgi_pass 127.0.0.1:9000;
       .
       .
       .

3- Увеличьте время ожидания и max_children:

/etc/php/7.0/fpm/php.ini  =>   default_socket_timeout = 60000
/etc/php/7.0/fpm/php.ini  =>   pm.max_children = 20
/etc/php/7.0/fpm/pool.d/www.conf  =>   request_terminate_timeout = 60000

4- Увеличьте тайм-аут на /etc/nginx/nginx.conf:

keepalive_timeout 65000;

После перезапуска php-fpm и nginx:

sudo service php7.0-fpm restart
sudo service nginx restart

Я рекомендую перед перезапуском nginx проверить, все ли в порядке:

sudo service nginx configtest 
0
ответ дан 4 December 2019 в 11:30

В моем случае перезапуск службы fpm сработал. Я запускал только reload. Забыл, что изменения конфигурации требуют перезагрузки для применения.

1
ответ дан 17 December 2020 в 02:16

Теги

Похожие вопросы