Поскольку я не могу добавить комментарий, я отправлю его в качестве ответа ...
Проверьте /etc/php5/fpm/pool.d/www.conf
(или находящийся там файл), если он настроен на работу через сокет TCP или UNIX. Также проверьте, действительно ли работает PHP. И посмотрите файлы журналов /var/log/php5-fpm.log
или / var / log / php5-fpm / *
и / var / log / nginx / *
(зависит от настроек).
Вы должны найти причину ошибки там.
Ошибка неверного шлюза означает, что процесс php отвечает с ошибкой. Можете ли вы проверить журнал ошибок php? Также попробуйте разместить файл test.php с помощью Php phpinfo (); ?>
@ / 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- Чтобы изменить список, например @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