1. 程式人生 > >uWSGI+Django (上)

uWSGI+Django (上)

pen oot support imp span with uil 內容 動態

環境是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服務器,這樣可以達到很好的客戶端響應。

(以上內容均為網上所看+本人實際操作)
                                                            

uWSGI+Django (上)