, который вы бы порекомендовали? , который быстрее, надежнее? apache mod_python или nginx/lighttpd FastCGI?Запуск Django с FastCGI или с mod_python
ответ
Я сделал, как и Apache/mod_python, как правило, легче работать с более стабильной. Но в эти дни я перешел на Apache/mod_wsgi, и это все, что я когда-либо хотел и многое другое:
- Простое управление процессами демона.
- В результате много Улучшенная изоляция процесса (работа с несколькими сайтами в одной конфигурации Apache с mod_python почти всегда заканчивается проблемами - переменные окружения и C-расширения утечки по сайтам, когда вы это делаете).
- Простая перезагрузка кода (установите его правильно, и вы можете просто коснуться файла
.wsgi
, чтобы перезагрузить вместо перезапуска Apache). - Более предсказуемое использование ресурсов. При использовании mod_python использование памяти для использования дочернего процесса Apache может сильно перепрыгнуть. С mod_wsgi это довольно стабильно: когда все загружено, вы знаете, сколько памяти он будет использовать.
Лично я работал с FastCGI в течение некоторого времени (6 месяцев или около того), а время ответа «казалось» быстрее при загрузке страницы таким образом против mod___python. Критической причиной для меня, однако, является то, что я не мог видеть очевидный способ сделать несколько сайтов с одной и той же установки apache/mod_python, тогда как FastCGI был относительным без проблем.
Я не проводил какие-либо особенно тщательные эксперименты, хотя :-)
[Редактировать] Говоря от опыта, хотя, настраивая FastCGI может быть немного боли в первый раз вокруг. Я сохраняю смысл писать путеводитель.!
lighttpd с FastCGI будет номинально быстрее, но на самом деле время, затрачиваемое на запуск вашего кода на основе python, и любые удары базы данных, которые он делает, полностью сводят к минимуму любые выгоды, которые вы получаете между веб-серверами.
mod_python и apache предоставят вам более гибкую функциональность, если вы хотите написать код за пределами django, который делает такие вещи, как digest auth, или любой причудливый HTTP-заголовок, получающий/устанавливающий. Возможно, вы хотите использовать другие встроенные функции apache, такие как mod_rewrite.
Если память вызывает беспокойство, пребывание в стороне от apache/mod_python поможет много. Apache имеет тенденцию использовать много оперативной памяти, а код mod_python, который склеивается во все функциональные возможности apache, также занимает много места в памяти. Не говоря уже о многопроцессном характере apache, как правило, приходится потреблять больше ОЗУ, так как каждый процесс растет до размера наиболее интенсивного запроса.
Я использую его с nginx. не уверен, что это действительно быстрее, но, конечно, меньше нагрузки на RAM/CPU. Также проще запустить несколько процессов Django и настроить nginx каждый префикс URL на другой сокет. все еще не в полной мере использует модуль memcached от nginx, но первые тесты показывают огромное преимущество в скорости.
Там также mod_wsgi, это, кажется, быстрее, чем mod_python и режим демона работает аналогично FastCGI
Nginx с mod_wsgi
Я бы рекомендовал конфигурации WSGI; Я продолжаю понимать, что я пытаюсь использовать apache, но на сервере всегда есть какое-то унаследованное приложение, которое, похоже, требует его. Кроме того, экология приложений WSGI очень разнообразна и позволяет использовать аккуратные трюки, такие как связующее ПО WSGI «межплатформенное ПО» между сервером и приложением.
Однако в настоящее время существует known issues with some apps and apache mod_wsgi, в частности, некоторые приложения ctypes, поэтому будьте осторожны, если вы пытаетесь запустить, скажем, geodjango, который широко использует ctypes. В настоящее время я работаю над этими проблемами, возвращаясь к fastcgi.
- 1. Apache mod_python с проблемой django
- 2. Проблема с протоколом Django mod_python
- 3. Запуск django с mod_python на общем сервере apache
- 4. Django, mod_python, апач развертывания: mod_python ошибка импорта
- 5. Проблема с выпуском библиотеки Mod_Python + Django
- 6. Ошибка развертывания Django mod_python
- 7. Django и mod_python config
- 8. Запуск нескольких проектов Django в mod_python, без использования VirtualHosts
- 9. Django mod_python ОШИБКА
- 10. Запуск сценариев Lua с использованием FastCGI
- 11. Путь Django python с Apache и mod_python
- 12. Как использовать Staticgenerator с Django + Apache + mod_python
- 13. mod_wsgi, mod_python или просто cgi?
- 14. Django и mod_python прерывистая ошибка?
- 15. разрешения сокетов при работе Django с FastCGI
- 16. Django С FastCGI Cant Найти настройки
- 17. Django fastcgi висит
- 18. команда Django FastCGI
- 19. Настройка Django с mod_python, Apache на SuSE с псевдонимом
- 20. Запуск Python через FastCGI с nginx на Ubuntu
- 21. проблема с запуском jpype с mod_python
- 22. Запуск подрывной деятельности под apache и mod_python
- 23. django-gcm under lighttpd/fastcgi?
- 24. Django with fastcgi и threads
- 25. Как запустить несколько версий приложения Django с mod_python?
- 26. ошибка запуска моего приложения в Django с mod_python
- 27. Преобразование с mod_python в mod_wsgi
- 28. Запуск конкретных тестов Django (с django-носом?)
- 29. Развертывание приложения django на Apache mod_python
- 30. Django, mod_python, apache и дурацкие сессии
Предпочитаете ли вы предпочтение Apache/mod_wsgi, почти 2.5 года спустя? – Dolph 2011-03-03 18:57:44