1 votes

Mise à jour de Nginx vers 1.8 - Obtention de 502 bad gateway

Aujourd'hui, j'ai mis à jour mon serveur local de nginx 1.6.3 à 1.8.0 et maintenant tous mes sites web locaux obtiennent une 502 mauvaise passerelle.

Un fichier de configuration standard de nginx est le suivant

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;
    }
}

Le message d'erreur que je reçois est le suivant

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"

Le socket de /var/run/php5-fpm.sock existe, il n'y a donc aucun problème.

J'ai trouvé quelqu'un d'autre avec un problème sur la même mise à niveau mais leur problème est différent du mien et ils ne reçoivent aucune erreur.

J'ai essayé d'ajouter cette ligne à /etc/nginx/fastcgi_params mais cela ne résout pas le problème.

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

Sinon, existe-t-il un moyen de rétrograder à la version 1.6.2 ou 1.6.3 pour que je puisse m'occuper de cette mise à jour à une date ultérieure ? J'ai essayé d'exécuter

sudo apt-get install nginx=1.6.2-1+trusty0

Mais j'ai obtenu l'erreur suivante

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.

0voto

eggdrop Points 1035

Supprimer tous les paquets nginx avec :

aptitude purge nginx nginx-full

Ajoutez ensuite les dépôts officiels de nginx :

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

Enfin, installez nginx :

apt-get update
apt-get install nginx

https://nginx.org/en/linux_packages.html

Il devrait fonctionner maintenant. Si ce n'est pas le cas - voir /var/log/nginx/error.log et réparer les erreurs.

0voto

user9272 Points 57

Cela fonctionne pour moi

remplacer

include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;

avec

include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X