centos7下部署Django
centos7下部署Django(nginx+uwsgi+python3+django)
系統版本
centos7
python版本
使用官方python3.6.3正式版
django版本
使用本文釋出時最新的1.11.7
uwsgi版本
使用本文釋出時最新的2.0.15
nginx版本
使用本文釋出時官網最新的1.13.7
進入正題,一行命令,一行註釋,使用root身份登入系統執行
1、安裝各類基礎模組
yum gcc-c++
(為centos系統增加編譯功能)
yum install wget openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
(安裝這些模組都是為了成功編譯安裝python3,防止出現各種異常)
yum install libxml*
(安裝這個模組是為了讓uwsig支援使用“-x"選項,能通過xml檔案啟動專案)
2、編譯安裝python3
進入home路徑(本人喜歡把東西都下載到這裡),執行以下命令:wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
下載完成後,執行解壓命令:tar -zxvf Python-3.6.3.tar.gz
進入解壓後的Python-3.6.3資料夾,依次執行以下命令./configure --prefix=/usr/local/python3
(將python3安裝到/usr/local/python3/路徑下)
make -j2
make install -j2
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
(以上兩個ln命令是為了方便在終端中直接使用python3和pip3命令)
3、給python3安裝django和uwsgi以及配置啟動專案的xml檔案
pip3 install django
pip3 install uwsgi
為了在終端中使用uwsgi命令,執行以下命令ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3
將你的django專案放到你想放的路徑下,例如/home/www/,假設我們的Django專案名為"myproject",裡面有一個應用叫"myapp"
在你的django專案下新建 myproject.xml,內容如下:
<uwsgi>
<socket>127.0.0.1:8997</socket><!-- 內部埠,自定義 -->
<chdir>/home/www/myproject</chdir><!-- 專案路徑 -->
<module>myproject.wsgi</module>
<processes>4</processes> <!-- 程序數 -->
<daemonize>uwsgi.log</daemonize><!-- 日誌檔案 -->
</uwsgi>
wq儲存
4、安裝nginx和配置nginx.conf檔案
進入home目錄,執行以下命令:wget http://nginx.org/download/nginx-1.13.7.tar.gz
下載完成後,執行解壓命令:tar -zxvf nginx-1.13.7.tar.gz
進入解壓後的nginx-1.13.7資料夾,依次執行以下命令:./configure
make
make install
nginx一般預設安裝好的路徑為/usr/local/nginx
在/user/local/nginx/conf/中開啟nginx.conf,加入以下內容
server {
listen 8996; #暴露給外部訪問的埠
server_name localhost;
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997; #外部訪問8996就轉發到內部8997
}
location /static/ {
alias /home/www/myproject/myapp/static/; #專案靜態路徑設定
}
}
(以上內容請保證在預設內容的大括號內)
wq儲存後進入/usr/local/nginx/sbin/目錄
執行./nginx -t
命令先檢查配置檔案是否有錯,沒有錯就執行以下命令:./nginx
終端沒有任何提示就證明nginx啟動成功,可以通過連結檢視nginx是否啟動成功:
http://192.168.1.111 (請將該ip替換成你的伺服器ip)
5、訪問專案頁面
進入你的django專案路徑,執行以下命令:uwsgi3 -x myproject.xml
以上步驟都沒有出錯的話,開啟你的瀏覽器,輸入以下連結,記得關閉系統防火牆或者開放8996埠
http://192.168.1.111:8996 (請將該ip替換成你的伺服器ip)
網站訪問成功!