Apache2: mod_wsgi или mod_python, какой из них лучше? - PullRequest
5 голосов
/ 11 марта 2010

Я планирую написать веб-сервис на Python. Но я обнаружил, что WSGI делает то же самое. Какой из них может быть предпочтительным?

Спасибо
Bala

Обновление

Я все еще в замешательстве. Пожалуйста, помогите.

Лучше в моем смысле означает:
1. Ошибка будет исправляться периодически.
2. Выбирается большинством разработчиков.
3. Дополнительные функции, такие как токены аутентификации, такие как AWS, могут поддерживаться "из коробки".
4. Нет сильной зависимости от версии (я вижу, что wsgi требует Python 2.6)
5. Все библиотеки Python будут работать "из коробки".
6. Масштабируемость в будущем.
7. Будущее обновление не вызывает никаких проблем.

С моим ограниченным опытом я хочу эти функции. Там может быть что-то, чего мне не хватает.

Спасибо
Bala

Обновление

Я прошу прощения за всю путаницу, вызванную. Я просто хочу выставить успокоительные веб-сервисы на языке Python. Есть ли хорошие рамки?

Ответы [ 6 ]

14 голосов
/ 11 марта 2010

mod_wsgi поддерживается более активно и (я слышал - я сам не тестировал их!) Лучше, чем mod_python. Поэтому, если вам не нужны эксклюзивные функции mod_python, просто для использования веб-фреймворка (или не-фреймворка, такого как werkzeug ;-), вам, вероятно, лучше использовать mod_wsgi! (Почти все веб-фреймворки Python и многие не-фреймворки, из которых werkzeug мой любимый, в наши дни поддерживают WSGI в качестве стандартного интерфейса с веб-сервером).

5 голосов
/ 11 марта 2010

Не путайте, что такое WSGI и mod_wsgi. WSGI - это спецификация интерфейса для размещения веб-приложений Python на сервере. Модуль mod_wsgi является реализацией спецификации WSGI, использующей Apache в качестве основного веб-сервера. Таким образом, Python и WSGI не являются точным выбором, WSGI является лишь одним из способов обмена данными между веб-службой / приложением Python и веб-сервером. Пакет mod_wsgi является одной из реализаций этого интерфейса. Итак, WSGI - это средство для достижения цели, а не решение само по себе.

Лично я очень рекомендую вам просто использовать минимальный фреймворк / не фреймворк Python, и, как предполагает Алекс, Werkzeug - хороший выбор.

4 голосов
/ 11 марта 2010

Если вы просто хотите запускать веб-приложения, используйте mod_wsgi.Если вам нужно написать обработчик для остальных фаз запросов / ответов httpd, используйте mod_python.

3 голосов
/ 11 марта 2010

mod_wsgi специально настроен для запуска веб-приложений Python, использующих WSGI в Apache. mod_python для любого веб-приложения Python, включая приложения WSGI. mod_wsgi также имеет меньший объем памяти, чем mod_python.

1 голос
/ 11 марта 2010

mod_wsgi поддерживается гораздо активнее, чем mod_python на данный момент. Он также имеет хороший импульс, так как он был недавно принят в качестве предпочтительного метода развертывания на apache2 Django. Автор также активно взаимодействует с сообществом Python в отношении будущей эволюции WSGI.

0 голосов
/ 11 марта 2010
  1. Ошибка будет периодически исправляться.

    Если вы не платите деньги, вы не можете иметь об этом никакого представления.

  2. Выбирается большинством разработчиков.

    mod_wsgi

  3. Дополнительные функции, такие как токены аутентификации, такие как AWS, могут поддерживаться "из коробки".

    Верно для каждого каркаса.

  4. Нет сильной зависимости от версии (я вижу, что wsgi требует Python 2.6)

    Что? Все зависит от совместимых версий. Все. Каждое программное обеспечение.

  5. Все библиотеки Python будут работать "из коробки".

    "Все?" Как насчет плохо написанных?

  6. Масштабируется в будущем.

    Конечно. Мы всегда надеемся на это. Там нет гарантии.

  7. Дальнейшее обновление не вызовет никаких проблем.

    Забавно.

«Я хочу эти функции.»

Мы все делаем. Реально, вы можете получить # 2. Остальные не имеют смысла или не могут быть уверены, что все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...