2010-03-10 14 views
5

Estoy planeando escribir un servicio web en python. Pero, descubrí que wsgi también hace algo similar. ¿Cuál puede ser el preferido?Apache2: mod_wsgi o mod_python, ¿cuál es mejor?

Gracias
Bala

actualización

Todavía estoy confundido. Por favor ayuda.

Mejor en mi sentido significa:
1. El error se solucionará periódicamente.
2. Elegido por la mayoría de los desarrolladores.
3. Funciones adicionales como tokens de autenticación como AWS, se pueden admitir de fábrica.
4. No existe una fuerte dependencia en la versión. (Veo que wsgi requiere Python 2.6)
5. Todas las bibliotecas de Python funcionarán de la caja.
6. Escalable en el futuro.
7. La actualización futura no causa ningún problema.

Con mi experiencia limitada, quiero estas funciones. Podría haber algunos que podría estar perdiendo.

Gracias
Bala

actualización

Lo siento por la confusión causada. Solo quiero exponer unos servicios web relajantes en lenguaje python. ¿Hay un buen marco?

+0

depende de lo que quiere hacer, WSGI es de muy bajo nivel, necesitará elegir un marco para ejecutar WSGI, necesita más información –

+0

En realidad, solo quiero escribir las API del servicio web REST. Actualmente, no me preocupa la velocidad, pero en el futuro podría preocuparme. – Boolean

+0

1) Defina "mejor" y "preferido". Debe proporcionar criterios; Que estas buscando. Mejor es indefinible sin que digas lo que es importante para ti. (2) No agregue comentarios a una pregunta que tenga. Actualice la pregunta con su información sobre REST. Mantenga la pregunta clara, completa y precisa. No agregue comentarios –

Respuesta

14

mod_wsgi se mantiene de forma más activa y (según tengo entendido, no he comparado con ellos mismos) mejor rendimiento que mod_python. Así que a menos que necesite funciones exclusivas de mod_python, solo para usar un marco de aplicación web (o no marco, como werkzeug ;-), ¡probablemente esté mejor con mod_wsgi! (Casi todos los frameworks web de Python, y muchos de los que no son frameworks de los cuales werkzeug es mi favorito, actualmente soportan WSGI como su interfaz estándar para el servidor web).

+5

Nota cuando Alex dice que "mod_wsgi se mantiene más activamente", lo que quiere decir es "la última versión de mod_python fue en 2007". :) Definitivamente use mod_wsgi si puede. –

4

Si solo desea ejecutar aplicaciones web, utilice mod_wsgi. Si necesita escribir un controlador para el resto de las fases de solicitud/respuesta de httpd, utilice mod_python.

+0

¿Cuál es la diferencia? entre los dos. Solo quiero exponer las API del servicio web REST. – Boolean

+0

@Algorist A menos que sepa que tiene requisitos especiales que requieren mod_python, no necesita _need_ mod_python. El 99% de las veces no hay ninguna razón para usarlo en un nuevo proyecto a menos que deba ejecutar en una plataforma dependiente de mod_python existente. –

+4

mod_wsgi es para ejecutar aplicaciones web. mod_python es para extender httpd. –

5

No confunda lo que WSGI y mod_wsgi son. WSGI es una especificación de interfaz para alojar aplicaciones web de Python en un servidor. El módulo mod_wsgi es una implementación de la especificación WSGI que utiliza Apache como servidor web subyacente. Por lo tanto, Python y WSGI no son opciones exactamente, WSGI es solo una forma de poder comunicarse entre un servicio web/aplicación de Python y el servidor web. El paquete mod_wsgi es una implementación de esa interfaz. Entonces, WSGI es un medio para un fin, no una solución en sí misma.

Personalmente, le sugiero que use un framework/framework de Python mínimo y como sugiere Alex, Werkzeug es una buena opción.

3

mod_wsgi está específicamente diseñado para ejecutar aplicaciones web de Python que usan WSGI en Apache. mod_python es para cualquier tipo de aplicación web de Python, incluidas las aplicaciones WSGI. mod_wsgi también tiene una huella de memoria menor que mod_python.

0
  1. Error corregido periódicamente.

    A menos que esté pagando dinero, no puede tener ninguna idea al respecto.

  2. Elegido por la mayoría de los desarrolladores.

    mod_wsgi

  3. Las características adicionales como tokens de autenticación como AWS, pueden ser apoyados fuera de la caja.

    Verdadero para todos los marcos.

  4. n fuerte dependencia de la versión. (Veo que wsgi requiere pitón 2,6)

    ¿Qué? Todo depende de las versiones compatibles. Todo. Cada pieza de software.

  5. Todas las bibliotecas de Python funcionarán de la caja.

    "¿Todos?" ¿Qué hay de los mal escritos?

  6. Escala en el futuro.

    Sure. Siempre esperamos esto. No hay garantia

  7. La actualización futura no causa ningún problema.

    Eso es gracioso.

"Quiero estas características."

Todos lo hacemos. De manera realista, puedes obtener el n. ° 2. El resto no tiene sentido o no todos pueden estar seguros.

1

mod_wsgi se mantiene mucho más activamente que mod_python en este momento. También tiene un buen impulso, ya que fue recientemente adoptado como el método de implementación preferido en apache2 por Django. El autor también se involucra activamente con la comunidad de Python con respecto a la evolución futura de WSGI.

Cuestiones relacionadas