1.安裝python解釋器:跳轉
2.安裝mysql:跳轉
3.創建數據庫並導入數據
# 導出:
mysqldump -u root -p test > test .sql
# 導入:
mysql -uroot -p test < test .sql
4.創建虛擬環境:跳轉
5.上傳django項目代碼到linux服務器
6.解決項目運行時需要的模塊依賴
導出windows系統下解釋器的所有模塊信息,通過命令一鍵安裝所有的模塊
在windows系統下導出解釋器的模塊信息
pip3 freeze > requirements.txt
在linux系統下通過命令安裝
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
7.安裝uwsgi
pip3 install -i https://pypi.douban.com/simple uwsgi
8.創建uwsgi的配置文件
cd /opt/rikkac
touch uwsgi.ini
[uwsgi]
# Django-related settings
# the base directory (full path)
# 填寫項目的完整絕對路徑,第一層
chdir = /opt/rikkac
# Django's wsgi file
#指定django的wsgi文件路徑,填寫相對路徑
module = rikkac.wsgi
# the virtualenv (full path)
#填寫虛擬環境的絕對路徑 可以通過cdvirtualenv切換到虛擬環境路徑
home = /opt/venv/rikkac
# process-related settings
# master
master = true
# maximum number of worker processes
#定義程序的多進程數量的,以cpu核數的2倍+1數量填寫 2n+1 數量
processes = 9
# the socket (use the full path to be safe
#把uwsgi啓動在socket協議上,的8000端口
socket = 0.0.0.0:8000
#指定http協議的話,用戶是可以直接訪問到的,不安全的,建議使用socket協議
#http =0.0.0.0:8000
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
9.啓動uwsgi
uwsgi --ini wgsgi.ini
10.安裝nginx:鏈接
11.配置nginx
server {
listen 80;
server_name _;
location / {
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params;
}
}
12.處理django項目靜態文件
# 修改django的settings.py配置文件,添加如下配置
STATIC_URL = '/static/'
STATIC_ROOT='/opt/rikkacstatic'
13.使用命令收集項目的所有靜態文件
python3 manage.py collectstatic
14.配置nginx處理靜態文件請求
location /static {
# 別名,將請求中到/static替換
alias /opt/rikkacstatic/;
}
15.重啓uwsgi
16.重啓nginx
17.使用supervisor管理uwsgi的後臺
安裝
yum install supervisor
生成配置文件
echo_supervisord_conf > /etc/supervisor.conf
添加配置文件,加載django項目
[program:rikkac] ;任務名稱
command=/opt/python367/bin/uwsgi --ini /opt/rikkac/uwsgi.ini ; 程序啓動命令 ,uwsgi命令的絕對路徑和配置文件的絕對路徑
autostart=true ; 在supervisord啓動的時候也自動啓動
stopasgroup=true ;默認爲false,進程被殺死時,是否向這個進程組發送stop信號,包括>子進程
killasgroup=true ;默認爲false,向進程組發送kill信號,包括子進程
啓動supervisord服務端
# 啓動前確保uwsgi已關閉
supervisord -c /etc/supervisord.conf
進入supervisor的管理交互式終端,管理任務
supervisorctl -c /etc/supervisord.conf
# supervisor的管理命令
status #查看狀態
start all #啓動所有任務
restart all #重啓所有任務