django + nginx + uWSGI部署

##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, 再由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

相關文章
相關標籤/搜索