nginx: a monte con più direttive del server?

Sto cercando di mettere in pacchetto 2 applicazioni che utilizzano nginx come proxy e consegnare each file di configuration in /etc/nginx/conf.d/ .

Fare questo in un file ( combined.conf ) funziona ottimamente:

  • numero di processi di lavoratori
  • Specificare un certificato SHA-1 o SHA-2 a seconda delle abilità del cliente
  • Supponendo che non sto servendo alcun contenuto statico, dovrò allontanarmi da Apache?
  • Come correggere l'errore "404 non trovato" sulla configuration di nginx
  • Architettura AWS WebServer (ELB + iptables)
  • i problemi di installazione di phpMyAdmin
  •   upstream backend1 { http://localhost:8989; } upstream backend2 { http://localhost:8990; } server { location /backend1/ { proxy_pass http://backend1; } location /backend2/ { proxy_pass http://backend2; } 

    Tuttavia, quando si divide in 2 file, uno dei reindirizzamenti non riesce sistematicamente:

    • backend1.conf :

       upstream backend1 { http://localhost:8989; } server { location /backend1/ { proxy_pass http://backend1; } 
    • backend2.conf :

       upstream backend2 { http://localhost:8990; } server { location /backend2/ { proxy_pass http://backend2; } 

    Quindi la mia domanda è: può un nodo http hanno 2 diversi server childs?

    La documentazione Nginx non dice nulla.

    Altre persone sembrano riuscite con questo tipo di architettura però 🙁

    La versione Nginx è 1.1.19-1ubuntu0.1.

    Grazie per qualsiasi consiglio!

    2 Solutions collect form web for “nginx: a monte con più direttive del server?”

    dopo così rumbling e test, ho immaginato un modo per farlo funzionare e essere in grado di spedire un file di configuration per applicazione.

    Qui viene inviato in un file comune e un paio di file upstream / location per applicazione:

    • /etc/nginx/conf.d/common-proxies.conf :

       include /upstreams/*.conf; server { include /locations/*.conf } 
    • /etc/nginx/locations/backend1.conf

       location /backend1/ { upstream http://backend1; } 
    • /etc/nginx/locations/backend2.conf

       location /backend2/ { upstream http://backend2; } 
    • /etc/nginx/upstreams/backend1.conf

       upstream backend1 { http://localhost:8989; } 
    • /etc/nginx/upstreams/backend2.conf

       upstream backend2 { http://localhost:8990; } 

    Un block http può avere molti figli di server. Tuttavia, nginx seleziona un block server per elaborare una richiesta. Quindi, la richiesta non vedrà mai la posizione backend2 perché corrisponde al primo block di server.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.