+ 1 к ответу MrTopf, но я добавлю несколько дополнительных мнений.
Вебсервер
Apache - это веб-сервер, который обеспечит вам максимальную настраиваемость. Избегайте mod_python, потому что он в основном не поддерживается. С другой стороны, mod_wsgi очень хорошо поддерживается и обеспечивает лучшую стабильность (иными словами, проще настроить конфигурацию использования процессора / памяти в отличие от spikey и непредсказуемости).
Еще одно огромное преимущество: вы можете настроить mod_wsgi для перезагрузки вашего приложения, если будет затронут скрипт приложения wsgi, нет необходимости перезапускать Apache. Для серверов разработки / тестирования вы можете даже настроить mod_wsgi для перезагрузки при изменении любого файла в вашем приложении. Это так полезно, что я даже запускаю Apache + mod_wsgi на своем ноутбуке во время разработки.
Nginx и lighttpd обычно используются для веб-серверов, либо обслуживая приложения Python напрямую через интерфейс fastCGI (пока не связывайтесь с какими-либо интерфейсами WSGI на этих серверах), либо используя их в качестве внешнего интерфейса перед Apache. Звонки в приложение проходят через (через прокси) Apache + mod_wsgi, а затем nginx / lighttpd обслуживает статический контент напрямую.
Nginx имеет дополнительное преимущество, заключающееся в том, что он может обслуживать контент напрямую из memcached, если вы хотите сделать это более сложным. Я слышал пренебрежительные комментарии о lighttpd, и у него, похоже, есть некоторые проблемы с разработкой, но, безусловно, есть некоторые крупные компании, которые успешно его используют.
стек Python
На самом низком уровне вы можете программировать на WSGI напрямую для лучшей производительности. Существует множество полезных модулей WSGI, которые помогут вам в областях, которые вы не хотите развивать самостоятельно. На этом уровне вы, вероятно, захотите выбрать сторонние компоненты WSGI для таких вещей, как разрешение URL-адресов и обработка запросов / ответов HTTP. Отличным компонентом запроса / ответа является WebOb .
Если вы посмотрите на Pylons , вы увидите их идею «лучших в своем классе» компонентов WSGI и структуру, которая упрощает выбор собственных компонентов, таких как шаблонизатор, чем Django.
Джанго может быть излишним, но я не думаю, что это действительно хороший аргумент против. Джанго облегчает жизнь. Когда вы начинаете работать с очень сложными приложениями, вам действительно нужно перейти к более низкоуровневым средам.