24

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

4

2 回答 2

29

我只是告诉您为什么需要使用类似 WSGI 的服务器 :) 但是如果您对使用 fcgi 感到满意 - 只需使用它

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

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

下一个问题“FastCGI 与类似 WSGI 的服务器?”

这里有一些答案:

关于 gunicorn、uWSGI 和 cherokee、nginx。不要混合它们!

nginx 是可以处理 http 请求并将其发送到 WSGI 后端的网络服务器。(但首先它对于静态内容处理非常快。)WSGI 后端处理你的 django 应用程序。

关于 cherokee,我认为它处理与 nginx 相同的任务,但我不使用它。

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

嗯,gunicorn 这么

作为仅在类 Unix 平台上运行的服务器,unicorn 与 Unix 哲学紧密相连,即做一件事并(希望)做好它。尽管使用 HTTP,unicorn 严格来说是一个后端应用服务器,用于运行基于 Rack 的Ruby 应用程序

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


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 转/秒

uwsgi(5 名工人)2100 转/秒

uwsgi(10 名工人)2300 转/秒

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

于 2012-07-13T09:48:43.750 回答
4

正如 b1- 所说,WSGI 是原生的(看看这篇文章)。

另外,这篇文章也有类似的问题。

从我个人的角度来看,前段时间我一直在 vhost 模式下使用 Nginx + uwsg 在我的服务器上运行各种项目。

于 2012-07-16T20:21:37.363 回答