Django+Linux+Uwsgi+Nginx項目部署文檔

Django+Linux+Uwsgi+Nginx項目部署文檔

WSGIhtml

在生產環境中使用WSGI做爲python web的服務器python

WSGI:全拼爲Python Web服務器網關接口,Python Web服務器網關接口,是項目默認會生成一個wsgi.py文件,肯定了設置模塊,uWSGI實現了WSGI的全部接口,是一個快速,自我修復,開發人員和系統管理員友好的服務器,C語言編寫,效率高nginx

 

Nginxweb

使用nginx的的做用主要包括負載均衡,反向代理shell

項目經過Django+Uwsgi+Nginx進行線上服務器部署                               後端

 

一、文件打包傳服務器,經過xshell瀏覽器

文件 > 傳輸 > ZMODEM > 用ZMODEM發送 > 文件或壓縮包服務器

Linux下壓縮包解壓命令:負載均衡

zip格式 :    unzip 壓縮包路徑dom

tar.gz格式 : tar zxvf 壓縮包路徑

(rar格式壓縮包解壓較爲複雜,儘可能別傳rar格式)

 

二、Xshell使用技巧

文件 > 新建,開啓多終端

建議開多終端,這樣對uwsgi、Nginx、項目代碼進行調試修改時,能夠避免在一個終端下來回切換目錄,提升工做效率,具體開終端的個數根據實際需求來定,而且右擊tab終端名重命名,更加方便知道哪一個終端對應作哪些事情            


 

三、修改配置文件問題

無論修改uwsgi的配置文件uwsgi.ini仍是修改nginx配置文件nginx.conf,修改完都必須重啓服務才能生效,而且啓動服務要在指定的目錄下面重啓

四、Uwsgi的安裝

方法一、pip  install  uwsgi(有網的狀況下)

方法二、沒網狀況下去官網下載uwsgi壓縮包,爲tar.gz格式,傳到服務器,進行解壓,解壓路徑/lib/目錄下面,而後切換到uwsgi文件目錄,執行如下兩個命令,便可完成安裝,示意圖以下(解壓路徑能夠自定義,記下來,方便之後進行維護)

python setup.py  build

python setup.py  install


 

五、Django項目中配置uwsgi

一、項目目錄(例如本例中DataBusines)下建立uwsgi.ini文件,配置以下

本地測試通常用:127.0.0.1便可,端口能夠自定


 

線上的話用線上服務器IP,端口自定,該配置訪問地址須要和nginx.conf中的配置同樣


 

例如:這是後面的nginx.conf配置文件,二者地址和端口須要一致


 

 

六、Uwsgi的使用(啓動、查看進程、關閉)

啓動uwsgi.ini,須要切換到項目目錄

啓動uwsgi: uwsgi --ini  uwsgi.ini

查看uwsgi進程:ps ajx|grep uwsgi

關閉uwsgi:

查閱相關資料文檔,提到多種命令關閉方式,關閉命令的意義在於修改配置文件後,

通常須要重啓uwsgi纔會生效

一、uwsgi --stop uwsgi.pid(很差用,常常報pid找不到)

二、sudo pkill -f uwsgi -9(很差用,有可能報錯,無效的-9)

三、killall -9 uwsgi(該命令最好用)


 

七、經過uwsgi網頁訪問

由於uwsgi自己就是web服務器,咱們能夠經過更改配置直接經過uwsgi進行訪問網頁

以下圖:咱們在服務器經過vi更改配置文件爲http請求模式,更改後保存並重啓uwsgi服務器,在咱們本身的瀏覽器訪問設置的IP和端口,成功顯示頁面,證實uwsgi配置成功

http模式:   直接用uwsgi時使用

socket模式: 使用Nginx時使用


 

 

八、Nginx的安裝

方法一、pip  install nginx(官方提供有該方法,可是以前在本地測試遇到坑,沒有配好,建議經過方法二中壓縮包方式安裝)

方法二、沒網狀況下去官網下載nginx壓縮包,爲tar.gz格式,傳到服務器,進行解壓,解壓路徑/lib/目錄下面,而後切換到nginx文件目錄,執行如下三個命令,進行安裝

./configure

make

sudo make install


 

執行完以上命令後,nginx被安裝在了/usr/local/nginx/,安裝成功


 

九、nginx的使用(啓動、查看進程、關閉)

進入nginx安裝目錄:cd /usr/local/nginx/

啓動nginx:  sudo sbin/nginx

查看nginx進程: ps ajx|grep nginx

關閉uwsgi:

查閱相關資料文檔,提到多種命令關閉方式,關閉命令的意義在於修改配置文件後,通常須要重啓nginx纔會生效

一、sudo sbin/nginx –s stop(很差用,報異常無效的-s)

二、sudo pkill -f uwsgi -9(很差用,報錯,無效的-9)

三、killall -9 nginx(該命令最好用)

命令報錯示意


 

十、nginx的配置文件nginx.conf配置

具體如圖中所示,配置文件目錄/usr/local/nginx/conf/nginx.conf,配置文件的修改須要經過vi進行修改


 

 

十一、靜態資源配置

配置靜態資源目錄是由於讓靜態資源經過nginx能夠直接返回,不須要經過uwsgi,也就是讓uwsgi只處理後端邏輯,不處理靜態資源,優化性能

 

一、靜態資源在nginx.conf中的配置,路徑能夠自定義


 

二、在服務器上建立以下目錄

sudomkdir –vp /var/www/DataBusines/static/

三、修改目錄權限

sudochmod 777 /var/www/DataBusiness/static/

四、項目代碼中配置settings,加入該目錄(本地演示在IDE中,線上能夠用vi)


 

五、收集全部靜態文件到static_root指定目錄

服務器上切換到項目目錄(DataBusines),執行以下命令收集

python  manage.py collectstatic

六、查看靜態資源目錄


 

十二、更改uwsgi.ini配置

剛纔在作uwsgi時候,用了http配置,如今nginx正式搭建起來,須要改爲socket配置,修改完畢要重啓uwsgi


 

Settings.py須要debug設置爲不調試,容許訪問的地址設置爲服務器地址


 

以上步驟完成後,訪問服務器主機地址和端口,若是nginx.conf中配置的爲80端口,則地址欄不須要輸入端口,由於瀏覽器請求端口也是默認爲80端口,非80端口的須要本身在ip後面添加

相關文章
相關標籤/搜索