位于項目根目錄下
run_project.sh
#!/bin/bash
#echo $0 文件名
#echo $1 端口號
is_work=1
# 判斷是否存在一個參數:端口號
if [ $# != '1' ]
then
echo "缺少一個參數:端口號 "
is_work=0
fi
# 定義運行函數
run_server(){
#獲取端口號
runport=$1
# 判斷端口是否被占用,如果占用,殺死進程
port_exit=$(netstat -anpt | grep $runport)
if [ "$port_exit" ]
then
kill -s 9 `ps -ef|grep $runport | grep -v grep | head -2|awk '{print $2}'`
fi
# 判斷是否存在celery進程,如果存在,殺死進程
celery_pid_list=$(ps -ef|grep celery | grep -v grep | head -2 | awk '{print $2}')
if [ "$port_exit" ]
then
for celery_pid in $celery_pid_list
do
kill -s 9 $celery_pid
done
fi
# 檢查安裝依賴包
pip3 install -r requirements.txt
# 數據庫遷移
python3 manage.py makemigrations
python3 manage.py migrate
# 守護進程方式 啟動celery
python3 manage.py celery multi start w1 -A QAPlatform --loglevel=info
# 啟動項目
python3 manage.py runserver 0.0.0.0:$runport &
echo "啟動成功"
}
if [ $is_work -eq '1' ]
then
#執行啟動函數
run_server $1
fi