Maison > cadre php > YII > Que faire si une erreur 502 se produit lors du déploiement d'un projet yii

Que faire si une erreur 502 se produit lors du déploiement d'un projet yii

藏色散人
Libérer: 2020-02-01 14:40:48
original
3067 Les gens l'ont consulté

Que faire si une erreur 502 se produit lors du déploiement d'un projet yii

Que dois-je faire si une erreur 502 se produit lors du déploiement d'un projet yii ?

Rappelez-vous le dépannage de l'erreur 502 bad gateway lorsque nginx a déployé le projet yii2

Je n'avais rien à faire samedi, alors j'ai essayé d'installer et déployer yii2. Il n'y a eu aucun problème pendant le processus d'installation, mais lors du déploiement sur nginx, j'ai rencontré un problème de passerelle 502 incorrecte, qui a pris beaucoup de temps à résoudre. Ce problème est quelque chose que je n'ai jamais rencontré auparavant lors du déploiement de yii2, je le note donc ici pour référence.

Tutoriels d'articles connexes recommandés : Tutoriel yii

1. Environnement d'installation et de déploiement

Système d'exploitation : macOS, version php :5.6, version nginx : 1.10.1, version yii2 : 2.0.

2. Installation de yii2

L'installation de yii2 est très simple, il suffit de se référer au manuel sur le site officiel. Ce que j'ai installé ici est yii2-app-advanced (Yii 2 Advanced Project Template). L'adresse du projet est sur github. Suivez simplement les instructions d'installation dans le README, je n'entrerai pas dans les détails à ce sujet.

3. Déploiement de yii2 sur nginx

En fait, le README du projet yii2-app-advanced a déjà indiqué très clairement comment déployer sur nginx Follow. les étapes. Il ne devrait y avoir aucun problème. Mais j'étais paresseux pendant le déploiement et j'ai directement utilisé les paramètres de déploiement nginx dans le README, ce qui a entraîné une erreur de passerelle incorrecte 502.

Les codes de réponse commençant par 5 dans le code d'état HTTP sont tous provoqués par le côté serveur, alors jetez un œil au journal nginx :

journal des erreurs :

Que faire si une erreur 502 se produit lors du déploiement dun projet yii

Voir en amont : "fastcgi: //127.0.0.1:9090" Ici, le port semble erroné, vérifiez donc la configuration de l'hôte virtuel :

Que faire si une erreur 502 se produit lors du déploiement dun projet yii

Regardez à nouveau la configuration de php-fpm :

Que faire si une erreur 502 se produit lors du déploiement dun projet yii

Effectivement, il est le serveur FastCGI spécifié par l'hôte virtuel nginx. Le port d'écoute est incorrect, ce qui empêchera nginx d'obtenir une réponse du serveur FastCGI. Ainsi, lorsque le navigateur fait une requête, nginx renvoie un code d'état 502 au navigateur, indiquant au navigateur que le serveur FastCGI en amont n'a pas répondu.

4. Solution

Dans l'hôte virtuel nginx, modifiez correctement le port spécifié par fastcgi_pass, et cette erreur sera résolue.

5, résumé

(1) Les erreurs commençant par le code d'état HTTP 5 sont causées par le côté serveur, et 502 une mauvaise passerelle est causée par le fonctionnement en tant que passerelle ou proxy. Le serveur (serveur Web) a reçu une réponse non valide du serveur en amont (serveur fastcgi) lors de la tentative d'exécution de la requête.

(2) fastcgi_pass est une directive de configuration du module ngx_http_fastcgi_module Elle précise l'adresse du serveur fastcgi. Sa description dans le document nginx est la suivante :

Syntax:    fastcgi_pass address;
Default:    —
Context:    location, if in location

Sets the address of a FastCGI server. The address can be specified as a domain name or IP address, and a port:
fastcgi_pass localhost:9000;

or as a UNIX-domain socket path:
fastcgi_pass unix:/tmp/fastcgi.socket;

If a domain name resolves to several addresses, all of them will be used in a round-robin fashion. In addition, an address can be specified as a server group.
Copier après la connexion
.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
yii
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal