Éviter 502 mauvaise passerelle dans un process de reds Robin Webserver process de redémarrage

J'ai un équilibreur de charge / proxy inversé (soit nginx ou cherokee, peu importe lequel) déployé sur mon server et il pointe vers plusieurs process de server web d'arrière-plan (soit gunicorn ou cherrypy, peu importe) dans une configuration round-robin .

Afin de minimiser les time d'arrêt, j'ai un script de redémarrage du server web qui tue un process de server Web spécifique (hors 8 process), puis le démarre immédiatement; et passe ensuite au prochain process du server web (tuez-le, puis redémarrez-le), à ​​tout moment, il y aura toujours au less 7 process disponibles pour mon proxy inverse.

C'est bien; mais y a-t-il un moyen de "perfectionner" ce process de sorte que je n'obtiens pas 502 mauvaises passerelles? La passerelle 502 se produit lorsqu'un user se trouve sur le site et utilise un process de server Web qui est temporairement tué et relancé.

De toute évidence, la raison pour laquelle j'ai besoin d'un script de redémarrage est pour le deployment d'un nouveau code python dans mon application python (en cours d'exécution sur le gunicorn ou le cherrypy).

4 Solutions collect form web for “Éviter 502 mauvaise passerelle dans un process de reds Robin Webserver process de redémarrage”

nginx devrait le faire sortir de la boîte. Le paramètre d' error timeout par défaut de proxy_next_upstream transmettra une requête au prochain membre d'un bloc en amont si le server initial choisi est inaccessible.

Pourquoi tu tuez Gunicorn? Envoyez-le simplement un SIGHUP comme tout autre process Unix bien porté et il sera réactivé sans perdre de connection.

Si vous utilisez haproxy et configurez un backend pour chaque process de server web et que vous utilisez également des controls de santé sur ces backends, il détectera quand il est en panne et le marquer comme hors ligne, équilibrant les requêtes aux personnes en bonne santé.
Un user connecté au server web de redémarrage doit être rééquilibré vers un user après avoir actualisé la page ou lancé une autre requête.

Utilisez plutôt apache httpd .

Il dispose d'un baliseur de charge proxying inversé ultra-configurable qui prend en charge le drain des membres et les preferences pondérées, sans parler de la reconfiguration en ligne via l'interface balanceur-gestionnaire .

  • Configuration d'une "usine de capture d'écran"
  • Sporadic "sendmail: fatal:" erreur lors de l'exécution du script de messagerie
  • Est-ce que Solaris est mieux au service des requests Web?
  • Comment configurer des domaines mutiple avec vernis et nginx
  • Type de bit recommandé pour un server Web Redhat - 32 bits vs 64 bits
  • Décollage de l'AMI Linux de Amazon
  • La meilleure façon de redirect les pages sur un server web apache / centos
  • Serveur Web dissortingbué pour arrêter les attaques DDos?
  • Devrait-il utiliser EXT4 ou XFS pour pouvoir "synchroniser" / sauvegarder sur S3?
  • Quand devez-vous utiliser et ne pas utiliser Etags?
  • La redirection d'URL d'Apache peut-elle envoyer une request à l'URL originale et à l'URL réécrit?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.