1. 程式人生 > >centos7下部署Django

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)
網站訪問成功!