1.方案:Nginx+uwsgi
這樣大致的流程是:nginx做爲服務器最前端,負責接收client的全部請求,統一管理。靜態請求由Nginx本身處理。非靜態請求經過uwsgi傳遞給Django,由Django來進行處理,從而完成一次WEB請求。
2,通訊請求css
安裝Nginxhtml
若是Nginx原先安裝過,最好先完全刪除再從新安裝!完全刪除的方法
http://blog.csdn.net/u010571844/article/details/50819704前端
啓動Nginxjava
Nginx默認監聽80端口
因此安裝完畢,訪問localhost或者服務器本身的ip地址就能夠看到下面的畫面。python
安裝uwsginginx
編寫測試web
寫一個test.py測試uwsgishell
而後執行shell命令:django
此時訪問8001端口,就能夠看到Hello World瀏覽器
測試Django自身
確保Django自身能夠啓動運行,在Django應用的目錄下:
訪問8002端口,若是正常,說明Django啓動成功!以下圖!
編寫wsgi.py文件
編寫django_wsgi.py文件,將其放在與文件manage.py同一個目錄下。
鏈接Django和uwsgi
經過Django與uwsgi就已經能夠造成一個簡單的web服務器了
編寫完成django_wsgi.py文件後執行:
這樣,就能夠在瀏覽器中的8000端口訪問Django程序了。
全部的請求都是通過uwsgi傳遞給Django程序的。
注意到,此時是訪問不了js/css靜態文件的!這些靜態文件將交給Nginx直接處理
編寫配置文件
爲了實現Nginx與uWSGI的鏈接,二者之間將採用soket來通信方式
將使用uWSGI配置文件的方式來改進uWSGI的啓動方式
將要讓Nginx採用8077端口與uWSGI通信,請確保此端口沒有被其它程序採用。
下面編寫uwsgi的配置文件
新建一個XML文件:djangochina_socket.xml,與manage.py在同一級目錄
在上面的配置中,咱們使用 uwsgi.log 來記錄日誌,開啓4個進程來處理請求。
這樣,咱們就配置好uWSGI了。
上文已經鏈接了uWsgi與Django應用,下面鏈接Nginx與uwsgi
修改/etc/nginx/sites-enabled/default
在上面的設置後,可讓Nginx來處理靜態文件(/static)。非靜態文件請求Nginx會發給 socket 8077,而後讓uWSGI來進行處理。
1.重啓Nginx服務器,以使Nginx的配置生效。
2.啓動uWSGI服務器
檢查日誌 uwsgi.log 是否有異常發現。
訪問服務
基於上面的假設你的域名是www.you.com
所以,咱們訪問 www.you.com,若是發現程序與 單獨使用Django啓動的程序如出一轍時,就說明成功啦!
4.關閉服務的方法
將uWSGi進程殺死便可。
查詢8077端口的進程
殺死進程
也能夠寫一個腳原本控制uwsgi啓動和中止:
做者:千葉正志
來源:CSDN
原文:
https://blog.csdn.net/nghuyong/article/details/54025761
識別圖中二維碼,領取python全套視頻資料