##uwsgi+nginx 部署html
##1.WSGI Python Web Server Gateway Interface,縮寫爲WSGI接口協議python
##2.uwsgi 線路協議nginx
##3.uWSGI uWSGI是一個Web服務器,它實現了WSGI協議、uwsgi、http等協議。Nginx中HttpUwsgiModule的做用是與uWSGI服務器進行交換。web
要注意 WSGI / uwsgi / uWSGI 這三個概念的區分。WSGI看過前面小節的同窗很清楚了,是一種通訊協議。 uwsgi是一種線路協議而不是通訊協議,在此經常使用於在uWSGI服務器與其餘網絡服務器的數據通訊。 而uWSGI是實現了uwsgi和WSGI兩種協議的Web服務器。django
uWSGI實現了WSGI的全部接口,是一個快速、自我修復、開發人員和系統管理員友好的服務器,uWSGI代碼徹底用C編寫瀏覽器
##使用uWSGI服務器部署django (python manage.py runserver ip:8000能夠在開發時使用)服務器
pip install uwsgi 配置uWSGI,在項目中新建文件uwsgi.ini,編寫以下配置 [uwsgi] socket=外網ip:端口(使用nginx鏈接時,使用socket) http=外網ip:端口(直接作web服務器,使用http) chdir=項目根目錄 wsgi-file=項目中wsgi.py文件的目錄,相對於項目根目錄 processes=4 threads=2 master=True pidfile=uwsgi.pid daemonize=uswgi.log 啓動:uwsgi --ini uwsgi.ini 中止:uwsgi --stop uwsgi.pid 重啓:uwsgi --reload uwsgi.pid 使用http協議查看網站運行狀況,運行正常,可是靜態文件沒法加載
安裝uWSGI服務器後,啓動服務器,在瀏覽器中進行測試. 靜態文件訪問會有問題.網絡
使用nginx的做用 負載均衡:多臺服務器輪流處理請求 反射代理:隱藏真實服務器 實現構架: 客戶端請求nginx, 再由nginx請求uwsgi, 運行django框架下的python代碼負載均衡
nginx+uwsgi也能夠用於其它框架的python web代碼,不限於django http://nginx.org/en/download.html tar zxvf nginx-1.6.3.tar.gz ./configure make sudo make install 查看版本:sudo sbin/nginx -v 啓動:sudo sbin/nginx 中止:sudo sbin/nginx -s stop 重啓:sudo sbin/nginx -s reload 經過瀏覽器查看nginx運行結果 指向uwsgi項目:編輯conf/nginx.conf文件
實踐: web.py nginx+uwsgi也能夠用於其它框架的python web代碼, 不限於django框架
查看wsgi.py