Non vengono utilizzati in parallelo. NGINX è un reverse proxy. È il primo in linea. Accetta le connessioni in entrata e decide dove dovrebbero andare dopo. Inoltre (di solito) serve supporti statici come CSS, JS e immagini. Può anche fare altre cose come la crittografia via SSL, la memorizzazione nella cache ecc.
Gunicorn è il livello successivo ed è un application server. NGINX vede che la connessione in entrata è per www.domain.com
e sa (tramite i file di configurazione) che dovrebbe passare tale connessione su Gunicorn. Gunicorn è un server WSGI che è fondamentalmente una:
semplice e interfaccia universale tra i server web e applicazioni web o quadri
lavoro di Gunicorn è quello di gestire ed eseguire l'istanza di Django (s) (simile a utilizzando django-admin runserver
durante lo sviluppo)
Il contrasto con questa configurazione è utilizzare Apache con il modulo mod_wsgi
. In questa situazione, il server delle applicazioni è in realtà una parte di Apache, in esecuzione come modulo.
fonte
2012-11-01 18:18:13
Vedere [questa domanda] (http://stackoverflow.com/questions/13004484/deploying-django-with-gunicorn-and-nginx/13004973#13004973) che va un po 'più in dettaglio della risposta di Timmy. –
@BurhanKhalid grazie, che ha aiutato – noahandthewhale