歡迎訪問(wèn)我的博客:小羊駝的部落閣
在部署之前,請(qǐng)確保服務(wù)器安裝有以下環(huán)境
安裝環(huán)境
- BT-Panel
- Python 3.6
- Django 2.1.7
- uWSGI
- MySQL 5.7
- Virtualenv
部署開始
安裝Python
在linux中系統(tǒng)默認(rèn)安裝的是python2.7,在此我們需要安裝python3.6版本,具體查看python的版本可直接在linux命令行中輸入python查看。

1、安裝python3.6
安裝相關(guān)包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
編譯安裝python3
去官網(wǎng)下載編譯安裝包或者直接執(zhí)行以下命令下載:
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
解壓
tar -xvJf Python-3.6.2.tar.xz
進(jìn)入文件夾
cd Python-3.6.2
編譯并安裝
./configure prefix=/usr/local/python3 # 先執(zhí)行此命令
make && make install
安裝完畢,/usr/local/目錄下就會(huì)有python3了
添加軟鏈接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
這樣我們就安裝成功python3.6了.
安裝pip3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
我們可以通過(guò)pip install 安裝python2的安裝包
也可以通過(guò)pip3 install 安裝python3的安裝包
2、安裝和配置虛擬環(huán)境
安裝虛擬環(huán)境
sudo pip install virtualenv
sudo pip install virtualenvwrapper
virtualenvwrapper 是virtualenv的擴(kuò)展管理包,可以將所有的虛擬環(huán)境整合在一個(gè)目錄下。
配置虛擬環(huán)境
創(chuàng)建虛擬環(huán)境管理目錄
mkdir ~/.virtualenvs
打開.bashrc
sudo vim ~/.bashrc
在.bashrc的末尾增加下面內(nèi)容
export WORKON_HOME=$HOME/.virtualenvs # 所有虛擬環(huán)境存儲(chǔ)的目錄
source /usr/local/bin/virtualenvwrapper.sh
啟用配置文件
source ~/.bashrc
至此virtualenv安裝完畢
創(chuàng)建虛擬環(huán)境
首先找一個(gè)比較容易記住的地方來(lái)存放虛擬環(huán)境文件夾
cd /www
mkdir env
cd env
mkvirtualenv -p /usr/bin/python3 my_env # my_env是虛擬環(huán)境的名稱
等待虛擬環(huán)境創(chuàng)建成功之后,輸入以下命令激活虛擬環(huán)境
source /www/env/my_env/bin/activate

這是命令行前方就會(huì)有虛擬環(huán)境名稱的標(biāo)識(shí),表示已經(jīng)激活虛擬環(huán)境了
安裝uWSGI
在安裝uWSGI之前,我們先在寶塔面板里添加域名,

域名添加完之后,寶塔面板會(huì)自動(dòng)幫我們創(chuàng)建好站點(diǎn)的文件夾,站點(diǎn)文件夾位置在
/www/wwwroot/路徑里面,我們選擇admin.wouldmissyou.com文件夾
從 github上下載源碼,然后上傳到
/www/wwwroot/admin.wouldmissyou.com/文件夾中
cd進(jìn)入到
www/wwwroot/admin.wouldmissyou.com/中,輸入vim mysite.xml將一下內(nèi)容粘貼進(jìn)去并保存退出:
<uwsgi>
<socket>127.0.0.1:8992</socket> <!-- 內(nèi)部端口,自定義 -->
<chdir>/www/wwwroot/admin.wouldmissyou.com/</chdir> <!-- 項(xiàng)目路徑 -->
<module>bangbao_form.wsgi</module>
<processes>4</processes> <!-- 進(jìn)程數(shù) -->
<daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>
然后在寶塔面板編輯Nginx配置文件


location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8992; #端口要和uwsgi里配置的一樣
uwsgi_param UWSGI_SCRIPT bangbao_form.wsgi; #wsgi.py所在的目錄名+.wsgi
uwsgi_param UWSGI_CHDIR /www/wwwroot/admin.wouldmissyou.com/; #項(xiàng)目路徑
}
location /static/ {
alias /www/wwwroot/admin.wouldmissyou.com/static/; #靜態(tài)資源路徑
}
完成后保存退出。
回到命令行,退出虛擬環(huán)境
deactivate
開始安裝uwsgi
pip3 install uwsgi
安裝完成后,在此進(jìn)入虛擬環(huán)境,在虛擬環(huán)境中再安裝一次uwsgi
source /www/env/my_env/bin/activate
pip3 install uwsgi
然后重啟nginx服務(wù)
cd /www/server/nginx/sbin
./nginx -t # 重啟并載入配置
安裝MySQL數(shù)據(jù)庫(kù)
寶塔面板貌似已經(jīng)幫我們安裝好mysql數(shù)據(jù)庫(kù)了 所以現(xiàn)在就在寶塔面板新建一個(gè)數(shù)據(jù)庫(kù)名為info,密碼也為info的數(shù)據(jù)庫(kù)
最后設(shè)置
回到命令行,進(jìn)入虛擬環(huán)境
cd /www/wwwroot/admin.wouldmissyou.com/
pip install -r requirements.txt #安裝所有依賴
等安裝完成后一次輸入以下命令
python manage.py makemigrations # 創(chuàng)建遷移腳本
python manage.py migrate # 遷移
python manage.py createsuperuser # 創(chuàng)建超級(jí)管理員
admin # 管理名賬號(hào)
admin@123.com # 管理員郵箱
admin # 管理員密碼
admin # 重復(fù)密碼
Y # 選擇Y
python manage.py collectstatic # 收集靜態(tài)資源
Y 選擇Y
最后一步,在命令行輸入以下命令
uwsgi -x mysite.xml
至此 部署完成!