2012-01-10 11 views
10

Recientemente he cambiado a Django para una aplicación web que estoy desarrollando y seguí las instrucciones en Heroku para obtener una aplicación Django que se ejecuta en Heroku. Tengo un entorno virtual en el que mi aplicación está desarrollada y uso git para el control de versiones y para presionar a Heroku. El enlace de arriba sugiere que intallé gunicornio:¿Cuál es el beneficio de instalar gunicornio para mi aplicación django en heroku?

Los ejemplos anteriores usaron el servidor HTTP predeterminado para Django. Para las aplicaciones de producción , es posible que desee utilizar un servidor web embebido más listo para la producción, como Tornado, el servidor WSGI de gevent o Gunicorn.

Luego llevan al usuario a través de la instalación de Gunicorn.

Mi pregunta es: ¿qué problemas podría encontrar si omito este paso y me quedo con el valor predeterminado? ¿Qué beneficios me dará Gunicorn?

Respuesta

12

Gunicorn es una producción lista y realmente fácil de usar. Lo uso para mis sitios web Por lo general, debe ejecutarlo a través de un proxy inverso como Nginx. No estoy seguro de lo que Heroku está usando. Realmente deberías probarlo.

En mi experiencia es mucho más fácil de usar y configurar que apache & mod_wsgi, y las otras configuraciones similares.

edición/actualización: Como resumen de los comentarios a continuación, Heroku ya usa Nginx como un servidor proxy inverso

+1

¿Alguna posibilidad de que pueda explicar brevemente para qué se usa/usa un "proxy inverso"? ¿Cuáles son los peligros si no uso Nginx? – Deonomo

+0

Estoy leyendo sobre esto ahora en: http://en.wikipedia.org/wiki/Reverse_proxy – Deonomo

+0

esta [publicación de blog] (http://ericholscher.com/blog/2010/aug/16/lessons-learned- dash-easy-django-deployment /) es donde aprendí sobre gunicornio y nginx y me enganché. El proxy inverso lo protege de ciertos tipos de ataques de denegación de servicio y nginx también se puede usar para alojar de manera muy efectiva archivos estáticos. Cuando pones un número de puerto e IP en tu configuración de gunicorn, ¿es tu IP asignada o una ip interna (127.0.0.1)? Heroku tal vez esté haciendo algún tipo de proxy ya. No tengo idea de cómo funciona –

7

Mucho mejor rendimiento, y probablemente también mejor seguridad y estabilidad. El servidor web de desarrollo de Django (que es utilizado por Heroku por defecto) no está diseñado para servir aplicaciones de producción.

+0

Gracias. Voy a intentar configurar mi aplicación para ejecutar gunicornio, en ese caso. Espero que esto no requiera que empiece a pagar heroku, porque aún estoy en las primeras etapas de desarrollo. – Deonomo

+0

@Deonomo No, no tiene que pagar por usar Gunicorn – chhantyal

Cuestiones relacionadas