2010-10-14 37 views
58

Me pregunto cuáles son las diferencias y ventajas para los diferentes CGI que hay. ¿Cuál sería el mejor para las secuencias de comandos de Python, y cómo le diría al script qué usar?Diferencias y usos entre WSGI, CGI, FastCGI y mod_python con respecto a Python?

+0

Es mod_wsgi más rápido? Mi servidor actual usa CGI, ¿qué razones hay para cambiar? – Parker

+0

Posible duplicado: http://stackoverflow.com/questions/219110/how-python-web-frameworks-wsgi-and-cgi-fit-together – Koroviev

+0

No podemos decirle si mod_wsgi será más rápido en su entorno.En realidad, debe medirlos en su entorno con sus limitaciones, sus aplicaciones y su configuración. –

Respuesta

36

Una pieza responde a su pregunta, que incluye scgi.

CGI vs FCGI

perezoso y no escribir por mi cuenta. De la wikipedia: http://en.wikipedia.org/wiki/FastCGI

En lugar de crear un nuevo proceso para cada solicitud, FastCGI utiliza procesos persistentes para manejar dichas solicitudes. Se pueden configurar múltiples procesos, lo que aumenta la estabilidad y la escalabilidad. Cada proceso FastCGI individuo puede manejar muchas peticiones durante su vida útil, evitando así la sobrecarga de la creación de procesos por solicitud y terminación

+1

¿La forma en que se comunican es la misma? (FastCGI y CGI) –

+1

Hay una biblioteca FastCGI stdio (marcos) que le permite crear un único programa capaz de ejecutarse tanto como CGI como como aplicación FastCGI: http://www.fastcgi.com/devkit/doc/fastcgi-prog -guide/ap_guide.htm – xorcus

+0

Pregunta sobre FastCGI: ¿Cómo maneja las conexiones simultáneas con un proceso cuando PHP mismo está bloqueando el lenguaje? ¿Qué pasa si tengo algo "sueño (100)". ¿No bloquea el proceso para los otros usuarios? Gracias – user345602

13

También hay un buen lector de antecedentes sobre CGI, WSGI y otras opciones, en la forma de una serpiente pitón oficial HOWTO: http://docs.python.org/howto/webservers.html

+0

Este es un gran recurso para principiantes. – GiriB

+0

Parece que la url está obsoleta. Pero esta funciona: https://docs.python.org/2/howto/webservers.html – lesnik

6

En un proyecto como Django, puede usar un servidor WSGI (Web Server Gateway Interface) del Flup module.

Un servidor WSGI envuelve un proceso de fondo utilizando uno o más protocolo:

1
  • FastCGI es una especie de CGI que es de duración en vivo, que se encontrará siempre en funcionamiento.
  • Con FastCGI, llevará menos tiempo.
  • Debido a los procesos múltiples, FastCGI costará más memoria que CGI.

In Detail Diff between FastCGI vs CGI

Cuestiones relacionadas