Django 1.9 为什么要移除 FastCGI 支持?

2016-12-09 00:57:51 +08:00
 JiaFeiX

https://docs.djangoproject.com/en/1.7/howto/deployment/fastcgi/

为什么?

4491 次点击
所在节点    Django
12 条回复
raysonx
2016-12-09 01:17:03 +08:00
https://groups.google.com/forum/m/#!topic/django-developers/oGmD8LvLTPg/discussion
Google 搜索“ django 1.7 fastcgi ”第一条。。。
Sight4
2016-12-09 09:14:33 +08:00
1. WSGI 已经成为 Python Web 部署事实上的标准。无论是 mod_wsig 、 gunicorn 、 uwsgi 对 WSGI 的支持已经很完善;另一方面,几乎所有的 Python Web 框架都会对 WSGI 进行适配。
2. FastCGI 属于语言无关的 socket 通信,在使用 FastCGI 的时候,框架还是要先起一个 WSGIServer 服务,所以,即使 django 移除了 FastCGI 支持,仍然可以拿一个 WSGIServer 起 app ,然后 fastcgi_pass 到这...so ,写 WSGIServer 这事情就交给专人做吧,框架就该减减身子, django 已经向重型化发展了
sagaxu
2016-12-09 09:28:54 +08:00
除了 php ,还有用 fastcgi 的吗?
glasslion
2016-12-09 10:01:53 +08:00
之前 django 的 fastcgi 也是调的 wsgi 。 fastcgi 到 wsgi 的转换是通过第三方的 flup 实现的。 django 那边总共没几行代码。

去掉 fastcgi 支持,主要是为了表明不建议使用 fastcgi 和避免误导新人
enenaaa
2016-12-09 12:02:47 +08:00
@sagaxu 有啊, 用 c/c++,或其他没有特定传输规范的语言写的后端,除了 cgi 就是 fastcgi 咯。
sagaxu
2016-12-09 12:49:25 +08:00
@enenaaa 不能直接走 HTTP 协议?
enenaaa
2016-12-09 12:56:35 +08:00
@sagaxu 说的就是 webserver upstream 到 app 这一段啊。 c 写的独立后端 app ,总不能自己实现个 nginx 吧。 python 有 uwsgi , 其他语言只好 cgi 或 fastcgi 啊。
当然,现在多半是 nginx 模块来实现了, 还有 openresty 之类的。
sagaxu
2016-12-09 13:09:55 +08:00
@enenaaa C 内嵌个 http server 很方便的吧。 Java 现在流行内置 tomcat 了, php 最近也有一些内置 http server 的框架,性能远超跑 fpm 里的框架。 ruby 版的 wsgi 叫 rack , go 语言则是标准库内置 http 服务, nodejs 也是内置 http 。 fastcgi 往前数个十年,倒是挺主流的。
enenaaa
2016-12-09 13:54:00 +08:00
@sagaxu 没必要内嵌,实在想用 http 方式,做成 nginx 模块多快好省,不想受拘束就 fastcgi 。
http 和 fastcgi 都是同步通讯,性能上不会有太大区别。
qweweretrt515
2016-12-09 16:00:28 +08:00
搭车问一句: django 用什么方式 性能最好,目前我是直接 python manage.py runserver
virusdefender
2016-12-09 16:22:57 +08:00
@qweweretrt515 你这是单线程的开发 server ,建议 nginx + gunicorn
JiaFeiX
2016-12-09 16:45:23 +08:00
那各位, Windows 下的 WSGI 如何搞? 只有 Apache 的 mod_WSGI 吗? 为什么 Nginx 没有呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/326313

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX