На моем сервере человечности 12.10 я обновил php до 5,5. После получения 502 ошибок на моем сайте Wordpress я сделал некоторый поиск с помощью Google и обнаружил, что должен изменить свои конфигурации nginx для соответствия передаче сценариев PHP к php5-fpm.sock
вместо того, чтобы портировать 9000. Таким образом, я изменил файл конфигурации своего сайта на ниже:
# Pass PHP scripts on to PHP-FPM
location ~* \.php$ {
try_files $uri /index.php;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
Я затем сделал service nginx restart
. Но 502 ошибки сохраняются.
После проверки журнала ошибок я добираюсь:
2014/03/30 14:16:37 [error] 1451#0: *21 connect() failed (111: Connection refused) while connecting to upstream, client: 81.107.86.251,, server: www.harryg.me, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "harryg.me"
Таким образом, похоже, что php-fpm пытается передать материал fastcgi://127.0.0.1:9000
. Почему это не, повинуясь изменению файла конфигурации?
править:
Мой /etc/php5/fpm/pool.d/www.conf
имеет listen = /var/run/php5-fpm.sock
в нем.
У меня тоже была эта проблема, и я решил ее, используя TCP-соединения. Цитата из этого ответа Ошибка 502 в nginx + php5-fpm (найдена по ссылке из danmash):
Проблема заключается в самом сокете, его проблемы в случаях высокой нагрузки хорошо известны. Пожалуйста, подумайте об использовании TCP \ IP-соединения вместо unix-сокета, для этого вам необходимо внести следующие изменения:
- в конфигурации пула php-fpm замените
listen = /var/run/php5-fpm.sock
наlisten = 127.0.0.1:7777[12110 visiblein / etc / nginx / php_location replace
fastcgi_pass unix: /var/run/php5-fpm.sock;
сfastcgi_pass 127.0.0.1: 7777;
В вашем случае это будет 127.0.0.1:9000
.
Ошибка Nginx 502 означает, что прокси не работает или не вернул какие-либо данные или действительные данные. Убедитесь, что сам код без nginx или прокси работает нормально. Для получения более подробной информации обратитесь к журналу nginx и php по запросу.