Isso funciona para mim
substituir
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
com
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
Hoje eu atualizei meu servidor localhost do nginx 1.6.3 para 1.8.0 e agora todos os meus sites locais estão recebendo um 502 gateway inválido.
Um arquivo de configuração padrão do nginx é o seguinte
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
server_name yii2.dive;
root /media/Development/www/yii2/web;
index index.php;
access_log /media/Development/www/yii2/log/access.log combined;
error_log /media/Development/www/yii2/log/error.log warn;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi.conf;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
try_files $uri =404;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}
A mensagem de erro que estou recebendo é a seguinte
2015/05/12 14:09:21 [error] 9295#0: *1 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: yii2.dive, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "yii2.dive"
O soquete em /var/run/php5-fpm.sock existe, portanto não há problema.
Encontrei alguém com um problema no mesmo upgrade
Eu tentei adicionar essa linha a / etc / nginx / fastcgi_params , mas isso não alivia o problema.
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Alternativamente, há uma maneira de fazer downgrade de volta para 1.6.2 ou 1.6.3 e eu posso lidar com essa atualização em uma data posterior. Eu tentei correr
sudo apt-get install nginx=1.6.2-1+trusty0
Mas tenho o seguinte erro
The following packages have unmet dependencies:
nginx : Depends: nginx-full (< 1.6.2-1+trusty0.1~) but 1.8.0-1+trusty1 is to be installed or
nginx-light (< 1.6.2-1+trusty0.1~) but it is not going to be installed or
nginx-extras (< 1.6.2-1+trusty0.1~) but it is not going to be installed or
nginx-naxsi (< 1.6.2-1+trusty0.1~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Isso funciona para mim
substituir
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
com
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
Remova todos os pacotes nginx com:
aptitude purge nginx nginx-full
Do que adicionar reposições oficiais do nginx deb:
deb http://nginx.org/packages/debian/ codename nginx
deb-src http://nginx.org/packages/debian/ codename nginx
wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
Por fim, instale o nginx:
apt-get update
apt-get install nginx
Deve funcionar agora. Caso contrário, consulte /var/log/nginx/error.log
e corrija erros.