使用Django的fastcgi服务器有什么缺点

Mur*_*rlu 23 deployment django fastcgi gunicorn

我在nginx + fastcgi一些Django项目的生产中使用(manage.py runfcgi ...).很多人建议使用nginx + gunicorn.使用gunicorn而不是使用Django的fastcgi服务器有什么好处?

b1_*_*b1_ 28

我只是告诉你为什么需要使用类似WSGI的服务器:)但是如果你觉得使用fcgi很舒服 - 只需使用它

简短的回答:WSGI(作为协议)很酷,因为它的原生

或者如果"你需要更深入"(c)

下一个问题"FastCGI vs WSGI-like服务器?"

一些答案在这里:

关于gunicorn,uWSGI和切诺基,nginx.别混它们!

nginx是web-server,可以处理http请求,并可以将其发送到WSGI后端.(但首先它对于静态内容处理非常快.)并且WSGI后端处理你的django应用程序.

关于切诺基,我认为它处理与nginx相同的任务,但我不能使用它.

而gunicorn,uWSGI是WSGI后端,它使用django app运行线程并执行许多其他任务

而嗯,gunicorn说

作为一个只能在类Unix平台上运行的服务器,独角兽强烈依赖于做一件事的Unix哲学,并且(希望)做得很好.尽管使用HTTP,unicorn仍然是运行基于Rack的Ruby应用程序的后端应用程序服务器.

我为我的django应用程序nginx(来自nginx.org repos的最新稳定版)+ uWSGI(来自Debian stables)练习 - 完美的工作:)


编辑于2012年5月18日

通过比较fcgi gunicorn uWSGI链接到2010主题

fcgi(线程)6​​40 r/s

fcgi(prefork 4处理器)240 r/s(*)

gunicorn(2名工人)1100 r/s

gunicorn(5名工人)1300 r/s

gunicorn(10名工人)1200 r/s(?!?)

uwsgi(2名工人)1800 r/s

uwsgi(5名工人)2100 r/s

uwsgi(10名工人)2300 r/s

(*这使得我的计算机在通过屋顶时CPU异常缓慢)

  • "FastCGI vs. WSGI"是一个错误的问题.FastCGI是一种网络协议,WSGI是一种Python调用约定.[flup](http://trac.saddi.com/flup)有一个FastCGI到WSGI网关.Django的`runfcgi`命令实际上是基于flup,因此使用WSGI.一个更好的问题是flup vs. uwsgi或flup vs. gunicorn. (7认同)
  • 那么,谁"胜利"取决于你的标准.我正在托管十几个流量较低的网站,因此易于维护和内存使用对我来说比原始性能(无论如何主要由数据库查询主导)更重要.)uwsgi不包装在debian squeeze(当前稳定版)中虽然是flup和gunicorn. (3认同)
  • 只是一个抬头:暗示gunicorn不是Django的好解决方案,因为它打算与Ruby一起使用是错误的.海报上有枪炮和独角兽混在一起 - 这句话来自独角兽(Ruby http服务器),而不是枪手. (2认同)

归档时间:

查看次数:

10788 次

最近记录:

13 年,5 月 前