2013-08-04 17 views
20

Chcę wdrożyć stronę django (jest to edx open source na github).Apache + mod_wsgi kontra nginx + gunicorn

jestem w obliczu wyboru między użyciem

  1. Apache z mod_wsgi
  2. nginx z gunicorn

Użyłem Apache z mod_wsgi i jest wystarczająco cool, ale nie mam doświadczenia z druga opcja.

Który z nich stanowiłby lepszą opcję pod względem szybkości, a także w pewnym stopniu łatwości obsługi?

NB: Musiałbym uruchomić dwie różne witryny Django na przykład port 80 i 81 i uzyskać do nich dostęp z dwóch różnych subdomen.

+1

Apache z gunicorn. Twój serwer powinien być czystym i prostym serwerem proxy HTTP i nie powinien nic wiedzieć o gunicorn - wszystkie apache mają numer (y) portu, do którego należy się zwrócić. Twoje serwery aplikacji nie powinny w ogóle wiedzieć o sobie nawzajem, lub że są w posiadaniu proxy odwrotnego HTTP. Apache over nginx jest czysto ponieważ mod_proxy_http ma dokumenty i nginx ... cóż, szczerze mówiąc, dokumenty są gówniane tam, gdzie one istnieją. Wszelkie dokumenty, które * musisz * znaleźć, są prawdopodobnie nieaktualne. (Naprawdę nie dostaję popularności). – AdamKG

+0

Och, ale to jest wyrok sądu, po prostu zamknę to pytanie, nie dostaniesz merytorycznej odpowiedzi bez wywołania wojny płomieniowej, w którym to momencie pytanie i tak się zamkną. – AdamKG

Odpowiedz

16

Nginx jest naprawdę lekki i łatwy w użyciu rozwiązanie, a wraz z gunicorn pozwala nam uruchomić dowolną aplikację WSGI i skalować go łatwo. Nginx jest lepszy w obsłudze zgłoszeń, ponieważ nie odradza nowego procesu dla każdego żądania w przeciwieństwie do Apache.

pisałem odpowiedź na temat sposobu wdrażania Django z nginx dla powiązanego pytanie:

Deploying Django project with Gunicorn and nginx

0

mam dobre doświadczenia z nginx i gunicorn. Działają wspaniale, kiedy w końcu ustawiam wszystkie ustawienia poprawnie i uruchomiłem je.

Dla nginx i gunicorn one:

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

Widziałem poradnik dla apache + mod_wsgi i wydaje się tak dużo prostsze do skonfigurowania.