Я получил свой самый первый VPS только сегодня и хотел установить на него установку nginx + PHP + MariaDB. И, ну, я действительно это сделал, но у меня проблема с настройкой.
Заставить nginx обслуживать статический .html-файл не составило труда, попытка обслужить динамический PHP-файл просто показывает публичное сообщение «502 Bad Gateway». Моя интерпретация файла журнала nginx указывает на ошибку связи между nginx и PHP-FPM, но я чертов новичок, так что это может быть невероятно неправильным.
php5-fpm.log:
[05-Aug-2012 21:50:10] NOTICE: fpm is running, pid 10982
[05-Aug-2012 21:50:10] NOTICE: ready to handle connections
часть журнала ошибок nginx:
2012/08/06 00:13:20 [error] 11419#0: *4 connect() failed (111: Connection refused) while connecting to upstream, client: REMOVED, server: lo$
2012/08/06 00:23:21 [error] 11419#0: *9 connect() failed (111: Connection refused) while connecting to upstream, client: REMOVED, server: lo$
2012/08/06 00:23:22 [error] 11419#0: *9 connect() failed (111: Connection refused) while connecting to upstream, client: REMOVED, server: lo$
2012/08/06 00:23:23 [error] 11419#0: *9 connect() failed (111: Connection refused) while connecting to upstream, client: REMOVED, server: lo$
Я просмотрел большинство конфигураций, но я оставил почти все по умолчанию. PHP-FPM все еще работает на порту 9000, тот, который должен запрашивать nginx ...
Это долгий путь (поскольку я не знаю вашего дистрибутива, версий или конфигурации), но если я правильно помню, недавние конфигурации PHP-FPM по умолчанию (по крайней мере, здесь, в Debian) вместо этого переключились на файловую связь (сокеты UNIX) ПТС.
Вы можете проверить это, проверив файл конфигурации PHP-FPM или используя lsof
, netstat -a
или тому подобное.
Изменить: только что проверил мою настройку. Я использую здесь Apache, поэтому напрямую это не поможет, но строка для конфигурации FastCGI гласит:
FastCgiExternalServer /var/run/apache2/php5.fcgi -idle-timeout 600 -flush -socket /var/run/php5-fpm.sock
Как видите, это относится к файлу сокета, а именно /var/run/php5-fpm.sock
.