В настоящее время на моем сервере Centos 6.8 возникает ошибка 502 Bad Gateway.
2017/01/30 23:57:31 [crit] 26911#0: *1 connect() to unix:/var/run/php/php7.0-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.0.15, server: 192.168.0.$
Я проверил, существует ли каталог, а его нет. Ближайшим к папке, который я смог найти, был / var / run / php-fpm, который содержит только php-fpm.pid.
Вот шаги для устранения этой проблемы:
Проверить, если php-fpm
это работает:
sudo service php-fpm status
sudo service php7-php-fpm status # use this if you are using remi PHP 7
Проверить на listen
в файле конфигурации www.conf php-fpm:
grep -Ri listen /etc/php/7.0/fpm/pool.d/www.conf
grep -Ri listen /etc/opt/remi/php70/php-fpm.d # for remi
Убедитесь, что ваш nginx fastcgi_pass
директива соответствует вашему listen
директива.
Для меня процесс установки таков, после установки nginx из репозиторий nginx.org:
mkdir -p /var/www/public_html
chown -R nginx:nginx /var/www/public_html
restorecon -rv /var/www
yum install php-fpm
sed -i 's@listen = 127.0.0.1:9000@listen = /var/run/php-fpm/php-fpm.sock@' /etc/php-fpm.d/www.conf
sed -i 's@;listen.owner = nobody@listen.owner = nobody@' /etc/php-fpm.d/www.conf
sed -i 's@;listen.group = nobody@listen.group = nobody@' /etc/php-fpm.d/www.conf
sed -i 's@user = apache@user = nginx@' /etc/php-fpm.d/www.conf
sed -i 's@group = apache@group = nginx@' /etc/php-fpm.d/www.conf
systemctl start php-fpm.service
systemctl enable php-fpm.service
Тогда конфигурация вашего хоста должна быть примерно такой:
server
{
listen 443 ssl;
root /var/www/public_html;
index index.php;
location ~ \.php$
{
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Затем перезапустите nginx и готово.