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

Проблема PHP-FPM в LEMP Stack и WordPress

Я очень много начинаю с NGINX и Server Admin.

Я использовал это руководство для установки NGINX / PHP / mySQL / WordPress:

C3M Цифровое руководство

В этом руководстве настройка backend php-cgi настраивается с помощью fastcgi. php5-fpm был установлен во время этого руководства:

apt-get install nginx-full php5-fpm php5 php5-mysql php5-apc php5-mysql php5-xsl php5-xmlrpc php5-sqlite php5-snmp php5-curl

Прочитав, что конфигурация NGINX в кодеке WordPress более безопасна, чем в большинстве руководств, я решил использовать конфигурацию кодекса:

Конфигурация WordPress NGINX в Кодексе

Конфигурация Codex использует php-fpm для backend php-cgi. При открытии браузера я получил ошибку 502 Bad Gateway. Журнал ошибок был:

"2012/06/10 21:18:27 [критический] 14009 # 0: * 4 connect () to unix: /tmp/php-fpm.sock не удалось (2: нет такого файла или каталога) при подключении к восходящему потоку, клиенту : 12.3.456.789, сервер: mywebsite.com, запрос: "GET / HTTP / 1.1", восходящий поток: "fastcgi: // unix: /tmp/php-fpm.sock:", хост t: "mywebsite.com" "

В основном файле конфигурации NGINX, предоставленном кодексом, я заметил строку, начинающуюся с "server unix:" в восходящем блоке php, которая указывает на пустой каталог:

    # Upstream to abstract backend connection(s) for PHP.
upstream php {
    server unix:/tmp/php-fpm.sock;
#       server 127.0.0.1:9000;
}

Я проверил папку в / tmp, и она была пуста.

Кажется, я пропустил настройку php-fpm для игры с NGINX.

Может ли кто-нибудь указать мне правильное направление?

Очень признателен!

Похоже, вы не настроили php-fpm для прослушивания через сокет Unix. Я предполагаю, что вы используете какой-то Debian, поскольку инструкции, которым вы следуете, предназначены для Debian.

В моей конфигурации Debian / nginx / php у меня есть этот файл: /etc/php5/fpm/pool.d/www.conf Вам нужно отредактировать это, чтобы позволить php-fpm прослушивать сокет Unix, а не адрес 127.0.0.1:9000.

Найдите линию в /etc/php5/fpm/pool.d/www.conf что читает listen = 127.0.0.1:9000 и измените его на /tmp/php-fpm.sock (или закомментируйте и добавьте listen = /tmp/php-fpm.sock под этим). Или, может быть, вы хотите сохранить файл php-fpm.sock где-нибудь, кроме tmp. Google, вероятно, может вам в этом помочь.