Различия и использование между WSGI, CGI, FastCGI и mod_python в отношении Python?

Мне просто интересно, в чем различия и преимущества разных CGI. Какой из них лучше всего подходит для сценариев Python и как я могу сказать сценарию, что использовать?


person Parker    schedule 14.10.2010    source источник
comment
Mod_wsgi быстрее? Мой текущий сервер использует CGI, по каким причинам нужно переключаться?   -  person Parker    schedule 15.10.2010
comment
Возможный дубликат: stackoverflow.com/questions/219110/   -  person Koroviev    schedule 15.10.2010
comment
Мы не можем сказать вам, будет ли mod_wsgi быстрее в вашей среде. Вы должны фактически измерить их в своей среде с вашими ограничениями, вашими приложениями и вашей конфигурацией.   -  person S.Lott    schedule 15.10.2010
comment
mod_wsgi - это только Apache. Он по-прежнему самый популярный в 2012 году?   -  person anatoly techtonik    schedule 29.03.2012


Ответы (4)


Частичный ответ на ваш вопрос, включая scgi.

CGI против FCGI

Ленивый и не пишущий сам. Из википедии: http://en.wikipedia.org/wiki/FastCGI

Вместо того, чтобы создавать новый процесс для каждого запроса, FastCGI использует постоянные процессы для обработки таких запросов. Можно настроить несколько процессов, что повысит стабильность и масштабируемость. Каждый отдельный процесс FastCGI может обрабатывать множество запросов за время своего существования, тем самым избегая накладных расходов на создание и завершение процесса для каждого запроса

person pyfunc    schedule 14.10.2010
comment
Существует библиотека FastCGI stdio (marcos), которая позволяет вам создать одну программу, способную работать как как CGI, так и как приложение FastCGI: fastcgi.com/devkit/doc/fastcgi-prog-guide/ap_guide.htm - person xorcus; 30.03.2014
comment
Вопрос о FastCGI: как он обрабатывает одновременные соединения с одним процессом, когда сам PHP блокирует язык? Что, если я что-нибудь посплю (100). Разве это не заблокирует процесс для других пользователей? Спасибо - person user345602; 14.09.2014

Также есть хороший справочник по CGI, WSGI и другим параметрам в виде официального python HOWTO: http://docs.python.org/2/howto/webservers.html

person Richard Boardman    schedule 29.03.2012
comment
Это отличный ресурс для новичков. - person GiriB; 18.05.2017
comment
Похоже, URL-адрес устарел. Но этот работает: docs.python.org/2/howto/webservers.html - person lesnik; 05.02.2018

В таком проекте, как Django, вы можете использовать WSGI (Интерфейс шлюза веб-сервера) с сервера Модуль Flup.

Сервер WSGI обертывает внутренний процесс, используя один или несколько протоколов:

person Cees Timmerman    schedule 29.04.2015

  • FastCGI - это долгоживущий вид CGI, который всегда будет работать.
  • С FastCGI это займет меньше времени.
  • Из-за нескольких процессов FastCGI будет стоить больше памяти, чем CGI.

Подробная разница между FastCGI и CGI

person naveenKumar    schedule 06.03.2017