nginx: nessun live upstream mentre si collega a monte

502 l'errore errato del gateway viene visualizzato quando si passa da pagine del sito e alcune volte alla home page, ma non per la prima richiesta nella home page è solo quando un'altra pagina si reindirizza. e succede per alcuni file javascript

il bilanciamento del carico configurato su due upstream php1 php2 sono entrambi server apache.

  • utilizzando RHEL5 come router
  • benchmarking di http?
  • Nginx e PHP-FPM che esauriscono le connessioni
  • La più veloce implementazione di cifratura SSL per Nginx se la forza non è necessaria?
  • Impostazione del gateway su subnet diverso dall'indirizzo IP
  • Come posso dire a SELinux di consentire l'accesso di nginx a un socket unix senza audit2allow?
  • Quando ho controllato l'errore log i fond:

    no live upstreams while connecting to upstream [error] 27212#0: *314 no live upstreams while connecting to upstream, client: ip_address , server: example.com, request: "GET / HTTP/1.1", upstream: "http://example.com", host: "example.com", referrer: "http://example.com/mypages/" 

    e questa è la configuration del server di bilanciamento del carico

      upstream example.com { # ip_hash; server php01 max_fails=3 fail_timeout=15s; server php02 max_fails=3 fail_timeout=15s; } server { listen IP:80; server_name example.com; access_log /var/log/nginx/example.com.access; error_log /var/log/nginx/example.com.error error; location / { 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_set_header X-Forwarded-Proto $scheme; proxy_pass http://$server_name/$uri; proxy_cache_bypass $cookie_nocache $arg_nocache $arg_comment; proxy_cache_bypass $http_pragma $http_authorization; proxy_no_cache $cookie_nocache $arg_nocache $arg_comment; proxy_no_cache $http_pragma $http_authorization; } } 

    Ho cercato ore e niente di utile trovato i miei flussi sono in su e nessun problema con loro.

  • Nginx 502 cattivo gateway eseguire django in uwsgi
  • NginX & PHP-FPM, random 502
  • Passaggio proxy NGINX all'applicazione NodeJS: restituire l'errore 502
  • nginx + uwsgi dà 502 Bad Gateway
  • Simulare 502 & 504 su nginx
  • Nginx: istanze server multiple: 502 quando proxy_pass
  • 2 Solutions collect form web for “nginx: nessun live upstream mentre si collega a monte”

    Questo non è un problema con Nginx, è un problema con i tuoi backend PHP che non rispondono in tempo. È ansible aggiungere la logging a Nginx per confermare questo .

    Come un secondo punto di riferimento, è ansible top al server e verificare manualmente se PHP sta sbattere la CPU per periodi di tempo, un altro indicatore di risposte lente.

    Se le risposte molto lente da PHP sono OK con te, puoi chiedere a Nginx di aspettare di più prima di rinunciare:

      # Wait 5 minutes before giving up on the backend! proxy_read_timeout 5m; 

    Esaminando i registri con le informazioni di temporizzazione collegate sopra, è necessario essere in grado di capire quali richieste sono lente per il process di PHP.

    Per limitare il problema, submit queste richieste direttamente al backend di PHP.

    A seconda di ciò che sta accadendo, potrebbe anche essere ansible abilitare la cache di alcune richieste in Nginx evitando alcune delle richieste lente.

    Rinomina l'upstream a "up_example.com" e cambia

     proxy_pass http://$server_name/$uri; 

    essere

     proxy_pass http://up_$server_name$uri; 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.