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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM