¿Cuál es la desventaja de usar el servidor fastcgi de Django?
deployment gunicorn (2)
Estoy usando nginx + fastcgi
(manage.py runfcgi ...) en producción para algunos de mis proyectos de Django. Mucha gente sugiere usar nginx + gunicorn
. ¿Cuál es la ventaja de usar gunicorn en lugar de usar el servidor fastcgi
de Django?
Como dice b1-, WSGI es nativo (eche un vistazo a esta publicación ).
Además, esta publicación tiene una pregunta similar.
Desde mi punto de vista personal, hace algún tiempo he estado usando Nginx + uwsg en el modo vhost para ejecutar varios proyectos en mi servidor.
Solo digo por qué necesitas usar servidores similares a WSGI :) pero si te sientes cómodo con el uso de fcgi, simplemente úsalo
Respuesta corta: WSGI (como protocolo) es genial porque es nativo
O si "necesitas profundizar" (c)
Siguiente pregunta "FastCGI vs WSGI-like servers?"
Algunas respuestas aquí:
- ¿Diferencias y usos entre WSGI, CGI, FastCGI y mod_python con respecto a Python?
- ¿Cuál es la diferencia entre scgi y wsgi?
- ¿Hay una diferencia de velocidad entre WSGI y FCGI?
- Cómo encajan los frameworks web de Python, WSGI y CGI
Acerca de gunicornio, uSSGI y cherokee, nginx. ¡No los mezcles!
nginx es un servidor web que puede manejar solicitudes HTTP y puede enviarlo a backend de WSGI. (Pero antes que nada es extremadamente rápido para el manejo de contenido estático). Y WSGI backend maneja tu aplicación django.
Acerca de cherokee, creo que maneja las mismas tareas que nginx pero no trabajo con eso.
Y gunicorn, uSSGI son backend de WSGI que ejecutan hilos con la aplicación django y hacen muchas otras tareas
Y hmmm, gunicornio dice eso
Siendo un servidor que solo se ejecuta en plataformas tipo Unix, el unicornio está fuertemente ligado a la filosofía de Unix de hacer una cosa y (con suerte) hacerlo bien. A pesar de usar HTTP, unicorn es estrictamente un servidor de aplicaciones de backend para ejecutar aplicaciones de Ruby basadas en Rack.
Practico para mi django apps nginx (último estable de repositorios nginx.org) + uWSGI (de los establos de Debian) - funciona perfectamente :)
editado el 18.05.2012
Enlace al tema de 2010 con la comparación de fcgi gunicorn uWSGI
fcgi (roscado) 640 r / s
fcgi (prefork 4 procesadores) 240 r / s (*)
gunicornio (2 trabajadores) 1100 r / s
gunicornio (5 trabajadores) 1300 r / s
gunicornio (10 trabajadores) 1200 r / s (?!?)
uwsgi (2 trabajadores) 1800 r / s
uwsgi (5 trabajadores) 2100 r / s
uwsgi (10 trabajadores) 2300 r / s
(* esto hizo que mi computadora fuera excepcionalmente lenta como CPU cuando estaba en el techo)