Назад | Перейти на главную страницу

Сбой связи между nginx и PHP-FPM

Я получил свой самый первый 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.