Après certaines mises à niveau d'Ubuntu 16.04 et modifications de code d'application, mon Flask sur le site Web gunicorn et nginx qui fonctionnait précédemment donne maintenant une erreur de passerelle 502 incorrecte.Flacon avec gunicorn sur erreur de passerelle incorrecte nginx 502
myapp.conf:
upstream app_server_wsgiapp {
server localhost:8000 fail_timeout=0;
}
server {
listen 80;
server_name www.myserver.com;
access_log /var/log/nginx/www.myapp.access.log;
error_log /var/log/nginx/www.myapp.error.log info;
keepalive_timeout 5;
location /static {
autoindex on;
alias /myapp/static;
}
location/{
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://app_server_wsgiapp;
break;
}
client_max_body_size 2097152;
#to get around upstream sent too big header while reading response header from upstream error
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
}
# this section allows Nginx to reverse proxy for websockets
location /socket.io {
proxy_pass http://app_server_wsgiapp/socket.io;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
/var/log/nginx/myapp.error.log
2017/06/11 06:42:52 [error] 31054#31054: *1 connect() failed (111: Connection refused) while connecting to upstream, client: clientip, server: www.myserver.com, request: "GET/HTTP/1.1", upstream: "http://127.0.0.1:8000/", host: "www.myapp.com"
Mes applications fichier journal Je note que Flask obtient une partie du chemin à travers départ haut, puis redémarre dans une boucle d'échec/redémarrage continu.
Avez-vous des idées sur la façon de résoudre ce qui pourrait causer ce problème?
Comment avez-vous démarré le service du flacon? Avez-vous essayé d'exécuter le service de flacon en mode interactif et de vérifier la sortie de la console? – hzm
@hzm Je déploie et lance flask via un script déployable ansible qui configure gunicorn puis utilise le superviseur pour redémarrer nginx. Il est non-trivial de commencer cette configuration de flacon manuellement sur le serveur, va continuer à pirater – proximacentauri
@ hzm vous êtes une légende, pouvez-vous mettre votre commentaire dans une réponse s'il vous plaît - en démarrant manuellement l'application sur le serveur que j'ai ramassé problème de dépendance et l'application était à chaque fois, puis le superviseur était juste en train de le redémarrer. Tout fixe maintenant – proximacentauri