Мы развертываем django приложение, я нашел в документации, что рекомендуется использовать WSGI appoach для того, чтобы сделать это.
Прежде, чем развернуться я хотел знать, почему это рекомендуется по другим двум подходам т.е. использующий mod_python и fastcgi...
Большое спасибо.
wsgi
обычно предпочтительнее, потому что он отделяет ваш выбор фреймворка от вашего выбора веб-сервера: если завтра вы захотите перейти, скажем, с Apache на nginx или что-то еще, переход с wsgi тривиально прост, а не так просто иначе.
Кроме того, использование wsgi дает вам возможность добавить некоторое промежуточное программное обеспечение, независимое от платформы, вместо того, чтобы полагаться на все возможные функции, которые вы хотите, чтобы они уже были реализованы и доступны для выбранной вами структуры.
Мы пробовали mod_python
. Это медленнее и сложнее настраивать. Он не предлагает функции демона.
Мы не смогли собрать fast_cgi
для нашей комбинации Apache, Red Hat и Python. Я не уверен, что конкретно было не так, но мы не смогли построить его должным образом. Он не отправлял запросы в Django должным образом, и мы не могли диагностировать проблему.
Мы попробовали mod_wsgi
третьим. Он построен красиво. У него есть опция демона. Настроить очень просто. Это позволяет тривиально перезапустить приложения Django без перезапуска всего Apache.
Я использую mod_wsgi для любого рабочего приложения Django. Это быстро, стабильно и легко настраивается.
Вы также можете немного подробнее изучить метод FastCGI. Эрик Флоренцано только что отлично описал Django с FastCGI для Django Advent: http://djangoadvent.com/1.2/deploying-django-site-using-fastcgi/