На моем сервере ubuntu 12.10 я обновил php до 5.5. Получив 502 ошибки на моем сайте wordpress, я немного погуглил и обнаружил, что мне нужно изменить мои конфигурации 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 (найдено по ссылке с сайта данмаш):
Проблема в самом сокете, его проблемы на высоких нагрузках хорошо известны. Пожалуйста, подумайте об использовании TCP \ IP-соединения вместо unix-сокета, для этого вам необходимо внести следующие изменения:
- в конфигурации пула php-fpm заменить
listen = /var/run/php5-fpm.sock
с участиемlisten = 127.0.0.1:7777
- в / etc / nginx / php_location заменить
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 по запросу.