django 原生为单线程序,当第一个请求没有完成时,第二个请求辉阻塞,知道第一个请求完成,第二个请求才会执行。
可以使用uwsgi 编程多并发的
django 的并发能力真的是令人担忧,这里就使用 nginx + uwsgi 提供高并发
nginx 的并发能力超高,单台并发能力过万(这个也不是绝对),在纯静态的 web 服务中更是突出其优越的地方,由于其底层使用 epoll 异步IO模型进行处理,使其深受欢迎
做过运维的应该都知道,php 需要使用 nginx + fastcgi 提供高并发,java 需要使用 nginx + tomcat 提供 web 服务
下面介绍如何使用 nginx + uwsgi 为 django 提供高并发 web 服务
1、系统环境
[root@crazy-acong ~]# uname -a Linux crazy-acong 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux [root@crazy-acong ~]# cat /etc/redhat-release CentOS release 6.6 (Final)
2、python 及 django 版本
[root@crazy-acong ~]# django-admin --version 1.10.6
3、安装 uwsgi 及 测试 uwsgi
3.1 安装
[root@crazy-acong ~]# pip install uwsgi
3.2 测试 uwsgi 提供 web 服务的功能
# 创建 test.py 文件 def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return [b"Hello World"] # python3 #return ["