Говорят, что лучший способ развертывания django - это использование wsgi, мне интересно, почему? - PullRequest
7 голосов
/ 24 февраля 2010

Мы развертываем приложение django, в документации я обнаружил, что для этого рекомендуется использовать подход WSGI.

Перед развертыванием я хотел знать, почему это рекомендуется для двух других подходов, то есть с использованием mod_python и fastcgi ...

Большое спасибо.

Ответы [ 3 ]

15 голосов
/ 24 февраля 2010

wsgi обычно предпочтительнее, потому что он отделяет ваш выбор фреймворка от вашего выбора веб-сервера: если завтра вы захотите перейти, скажем, с Apache на nginx, или что-то еще, с wsgi это легко сделать, но не так иначе легко.

Более того, использование wsgi дает вам возможность добавить некоторое промежуточное программное обеспечение, которое не зависит от фреймворка, вместо того, чтобы полагаться на все возможные функции, которые вы хотите, уже реализованные и предоставленные для выбранной вами фреймворка.

5 голосов
/ 24 февраля 2010

Мы пытались mod_python. Это медленнее и сложнее в настройке. Он не предлагает функцию демона.

Нам не удалось создать fast_cgi для нашей комбинации Apache, Red Hat и Python. Я не уверен, что конкретно было не так, но мы не смогли его правильно построить. Он не отправлял запросы Django должным образом, и мы не могли диагностировать проблему.

Мы пытались mod_wsgi третий. Он построен красиво. У него есть опция демона. Это очень легко настроить. Это позволяет тривиальный перезапуск приложений Django без перезапуска всего Apache.

0 голосов
/ 24 февраля 2010

Я использую mod_wsgi для любого производственного приложения Django. Это быстро, стабильно и очень настраиваемо.

Возможно, вы захотите взглянуть на метод FastCGI немного подробнее. Эрик Флоренцано только что написал отличную статью о Django с FastCGI для Django Advent: http://djangoadvent.com/1.2/deploying-django-site-using-fastcgi/

...