django在測試環境和部署環境有很大的不同,總而言之,部署環境中,思路是(假設已經有對應的python版本安裝了):
(1)、下載配置uwsgi;
(2)、下載配置nginx;
(一)、uwsgi
wsgi是python程序的一個網觀點接口,用來實現web應用的;
uwsgi是一個python的web服務器,像是node自帶的服務器一一樣,像是php的fastcgi一樣;
首先在ubuntu下載安裝uwsgi:
sudo apt-get install uwsgi
當然,后來我用了一臺服務器的環境我全部配置成python3.6的,安裝uwsgi的時候,有一點點不同,首先要安裝個python的依賴,然后用pip的方式安裝:
sudo apt-get install python3.6-dev?
sudo pip install uwsgi
之后的其他步驟一樣,輸入命令可以檢查是否成功
uwsgi --version
然后測試一下:
新建一個test.py,內容如下:
然后輸入命令:
uwsgi --http :8888 --wsgi-file test.py
然后,瀏覽器輸入 server_ip:8888,就會出現 “fuck you",證明ok了
然后,上傳自己的django項目到任意目錄(假設在/usr/share/nginx/python/下),如我的目錄截圖:
之后,可以直接用uwsgi做服務器(靜態文件找不到。。。),有兩種方式,一是命令行,二是寫入配置文件:
1、命令行
uwsgi --http :8888 -chdir/usr/share/nginx/python/image_deal --wsgi-file?/usr/share/nginx/python/image_deal/image_deal/wsgi.py
然后,就可以在瀏覽器輸入 server_ip:8888,就可以訪問了
2、配置文件
一般在根目錄創建個ini文件,我命名為wsgi.ini,基礎的內容如下:
然后,運行命令如下:
uwsgi wsgi.ini -d self/define/log.log[后臺運行]
uwsgi wsgi.ini[前臺運行]
(二)、nginx
uwsgi配置好,運行以后,配置nginx就好了,新建一個虛擬機如下圖:
注意,其上的目錄沒有改,目錄要對應!
然后重啟
sudo service nginx restart
然后訪問:http:server_ip:8003就ok了