uWSGI+Django (中)

时间:2021-07-03 11:53:09

环境是ubuntu 14.0 python3  django 1.10

1:安装uwsgi

sudo apt-get install libpcre3 libpcre3-dev

sudo pip3 install uwsgi

顺序必须要这样并且必须要以root的身份不然报错 !!! no internal routing support, rebuild with pcre support !!!

安装完之后

  1:测试uwsgi

  新建test.py 如下st.py

  def application(env, start_response):
   start_response('200 OK', [('Content-Type','text/html')])
   return [b"Hello World"]
  uwsgi --http :8001 --wsgi-file test.py(这句命令要和test.py在同一位置,如果不在该会报错:failed to open python file test.pyunable to load app 0 (mountpoint='') (callable not found or import error)*** no app loaded. going in full dynamic mode *** )
打开浏览器输入 127.0.0.1:8000 会显示Hello World
  OK无误

2:测试uwsgi+django
首先确保django无误。然后
uwsgi --http :8000 --module name.wsgi      name为你wsgi所在文件夹的名字     (同理wsgi文件要和命令在同一位置)
然后在浏览器里访问django 解释一下:

WSGI: WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx)与应用服务器(如uWSGI服务器)通信的一种规范。

uWSGI: uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。 Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。

uwsgi: uwsgi同WSGI一样是一种通信协议,而uWSGI是实现了uWSGI和WSGI两种协议的Web服务器。

有了uWSGI为什么还需要nginx?

nginx具备优秀的静态内容处理能力,然后将动态内容转发给uWSGI服务器,这样可以达到很好的客户端响应。

(以上内容均为网上所看+本人实际操作)