2013-08-04 16 views
20

Voglio distribuire un sito django (è il codice edx open source su github).Apache + mod_wsgi vs nginx + gunicorn

mi trovo di fronte con la scelta tra l'utilizzo

  1. Apache con mod_wsgi
  2. nginx con gunicorn

ho usato Apache con mod_wsgi ed è abbastanza fresco, ma non ho esperienza con la seconda opzione.

Quale di questi sarebbe un'opzione migliore in termini di velocità e anche in una certa misura, facilità d'uso?

NB: Avrei bisogno di eseguire due diversi siti django su dire, porta 80 e 81 e accedervi da due sottodomini diversi.

+1

Apache con gunicorn. Il tuo server web dovrebbe essere un proxy HTTP puro e semplice, e non dovrebbe sapere nulla di gunicorn - tutto ciò che Apache ha sono i numeri di porta a cui fare il proxy. I server delle tue app non dovrebbero conoscersi a vicenda, o stanno vivendo un proxy inverso HTTP. Apache su nginx è puramente perché mod_proxy_http ha documenti e nginx ... beh, francamente, i documenti sono merdosi dove esistono. Tutti i documenti che * trovi * sono probabilmente obsoleti. (Davvero non ho la popolarità.) – AdamKG

+0

Oh, ma questo è un giudizio, vorrei chiudere la domanda, non otterrai una risposta sostanziale senza innescare una guerra di fuoco, a quel punto, la domanda si chiuderà comunque. – AdamKG

risposta

16

Nginx è molto leggero e facile da usare la soluzione e con gunicorn ci permette di eseguire qualsiasi applicazione WSGI e scalare facilmente. Nginx è più adatto a gestire le richieste poiché non genera un nuovo processo per ogni richiesta, a differenza di Apache.

ho scritto una risposta su come distribuire Django con nginx per una questione connessa:

Deploying Django project with Gunicorn and nginx

0

ho una buona esperienza con nginx e gunicorn. Continuano a funzionare alla grande quando finalmente ho impostato tutte le impostazioni e l'ho fatto funzionare.

Per nginx e gunicorn essi sono:

* nginx configuration files (/etc/nginx/sites-enabled/ and /etc/nginx/nginx.conf) 
* gunicorn configuration files (/etc/init/gunicorn.conf and /etc/gunicorn.d/) 

ho visto un tutorial per apache + mod_wsgi e sembra molto più semplice da configurare.