mod_cgi, mod_fastcgi, mod_scgi, mod_wsgi, mod_python, FLUP. Я не знаю насколько больше. что mod_php эквивалентен?

Я недавно изучил Python. Мне понравился он. Я просто хотел использовать его для веб-разработки. Эта мысль доставила все неприятности. Но мне нравятся эти проблемы :)

Прибытие из мира PHP, где существует только один стандартизированный путь. Я ожидал то же и искал Python и апача.

Установка Python в Windows / Apache? говорит

Держитесь подальше от mod_python. Одна общая вводящая в заблуждение идея состоит в том, что mod_python похож на mod_php, но для Python. Это не верно.

Таким образом, что эквивалентно из mod_php в Python?

Мне нужно мало разъяснения по поводу этого, Как веб-платформы Python, WSGI и CGI совмещаются

CGI, FastCGI и SCGI являются агностиком языка. Можно записать сценарии CGI в Perl, Python, C, удар или даже блок :). Так, я предполагаю mod_cgi , mod_fastcgi, mod_scgi их соответствующие апачские модули.Правильно?

WSGI - некоторый, оптимизировал/улучшил inshort эффективная версия, специально предназначенная для языка Python только. Для использования этого mod_wsgi путь состоит в том, чтобы пойти.правильно?

Это не учитывает mod_python. Что это затем?

Apache-> mod_fastcgi-> FLUP (по протоколу CGI)-> Django (по протоколу WSGI) Flup является другим способом работать с wsgi за любым веб-сервером, который может говорить FCGI, SCGI или AJP

Что такое FLUP? Что такое AJP? Как Django приезжал в изображение?

Эти вопросы поднимают вопросы о PHP. Как это на самом деле работает? Какую технологию это использует? mod_php и mod_python, каковы различия?

В будущем, если я хочу использовать Perl или Java с другой стороны, я должен буду запутаться? Любезно может кто-то объяснять вещи ясно и давать Полное Изображение.

12
задан Community 23 May 2017 в 12:13
поделиться

4 ответа

mod_python больше всего похож на mod_php в том, что он делает (то есть пытается делать все). Это не обязательно хорошо, и сегодня я бы не рекомендовал писать приложения для собственных интерфейсов mod_python.

WSGI - это своего рода оптимизированная / улучшенная версия, специально разработанная для python

Разница в том, что WSGI определен в самом языке Python: он определяет, какие объекты и значения получит ваш код. [S | Fast] CGI больше занимается байтами в сети.

Написав свое приложение в соответствии со стандартом WSGI (либо напрямую, либо с использованием поддерживающей его инфраструктуры), вы устраняете взаимосвязь между написанием и развертыванием приложения.

Чтобы использовать этот mod_wsgi, можно пойти. Правильно?

Это способ пойти и определенно хороший выбор для пользователей Apache, но далеко не единственный. Напишите в WSGI, и вы сможете развернуть его в широком диапазоне сред, включая [S | Fast] CGI и mod_python.

2
ответ дан 2 December 2019 в 06:44
поделиться

Стандартный способ развертывания приложения Python в Интернете - через WSGI. В наши дни нет причин использовать что-то еще.

mod_wsgi - это модуль Apache, поддерживающий WSGI. Другие веб-серверы будут иметь другие имена для своих модулей WSGI.

10
ответ дан 2 December 2019 в 06:44
поделиться

В мире Python нет точного эквивалента mod_php.

  • FastCGI, SCGI и AJP запускают веб-приложение как отдельный процесс (демон) и передают сообщения между веб-сервером и им.
  • mod_python используется для встраивания кода Python в процесс httpd на любом этапе запроса.
  • mod_wsgi может запускать код Python либо в режиме демона, либо во встроенном режиме.
  • CGI - это протокол, который запускает сценарий / программу каждый раз, когда делается запрос.
  • FLUP - это набор адаптеров, которые можно использовать для преобразования одного из этих интерфейсов в другой.
7
ответ дан 2 December 2019 в 06:44
поделиться

mod_python является ближайшим эквивалентом mod_php, но это не означает, что mod_python будет соответствовать вашим потребностям. Для каждого языка программирования вам необходимо перечислить все возможные варианты и выбрать тот, который вам нужен.

Для PHP у вас есть mod_php и mod_cgi, но из этих двух mod_cgi почти во всех отношениях уступает mod_php, поэтому люди обычно выбирают последнее. (Есть несколько альтернатив, например suphp, если вам нужна дополнительная безопасность и т. Д.)

Для Python у вас есть mod_cgi, который будет запускать интерпретатор python каждый раз, когда вы делаете запрос. Вместо этого в Mod_python встроен python, поэтому это обычно быстрее и проще, но для больших проектов или проектов, использующих фреймворк (например, DJango), вы, вероятно, захотите использовать mod_wsgi, потому что он наиболее удобен для ресурсов.

Для Ruby у вас также есть возможность использовать mod_cgi, но это будет слишком медленно. mod_ruby - тоже вариант, но только для небольших программ. mod_fastcgi обычно использовался для rails / merb и других веб-фреймворков на основе Ruby, но их заменяют mod_rails и mod_rack, которые дружественны к ресурсам. Но для простых скриптов последние слишком тяжеловесны.

Для моно (asp.net) у вас есть mod_mono, который обычно является единственным вариантом.

Для java вы обычно запускаете отдельный веб-сервер Tomcat / Jetty и используете mod_proxy.

Конечно, запуск отдельного веб-сервера и использование mod_proxy обычно является вариантом для всех веб-фреймворков, хотя в основном он подходит только для процесса разработки. Для производственной среды вам нужно тщательно выбрать лучший вариант (наиболее ресурсоемкий), который требуется вашей среде (django, rails, asp.net и т. Д.)

4
ответ дан 2 December 2019 в 06:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: