一、引入
用Django寫了一個測試的項目,現在要部署在Linux上,一般這種情況下,只要在項目里面敲一行命令:python manage.py runserver 0.0.0.0:8000就行了。但這是在開發項目的時候用這個可以測試項目,在瀏覽器看到效果。正真部署到服務器上,這樣是不行的,因為窗口一關,Django也就關了。當然你也可以一直不關。。。。。。
本來是想通過supervisor來做這個進程管理的,但是supervisor只支持python2.x
然后繼續百度找解決方案。。。。功夫不負有心人!參考博客:http://www.cnblogs.com/yanjj/p/9512082.html 然后一段操作,終於解決我的問題了。
二、解決方案(使用nohup)
1.進入到manage.py所在目錄,接下來vim start.sh,輸入如下內容,根據個人情況,修改一些內容
ps -aux | grep python3|xargs kill -9 nohup python3 manage.py runserver 0.0.0.0:8000 >>log_app.out>&1 &
start.sh命令是啟動Django服務,先kill掉原來運行的Django項目,然后啟動自己的Django,並將日志輸出到log_app.out里面
2.編輯vim stop.sh
ps -aux | grep python3|xargs kill -9
直接kill掉運行的Django服務,這是關閉這個服務
3.授權,要運行這個這倆個命令,還需要看是否擁有操作權限,最簡單的命令就是
chmod +777 start.sh chmod +777 stop.sh
4.啟動和關閉
在該目錄下./start.sh啟動Django;./stop.sh 關閉Django服務,如下圖所示:前兩個圖是啟動之后的,后兩個是關閉之后的。
5.日志文件,原來我們的runserver之后會有很多的請求日志,現在都存在上面設置的日志文件(log_app.out)里面了
6.展示一下項目結構:
三、總結
我的Django項目是用Nginx這個Web服務轉發的,當這個問題解決后,項目的測試環境也就OK了,接下來就可以好好開發項目了。。。。。
踩過很多坑 ,但是總算圓滿解決!
四、后記
后面在學習的過程中我又學會了另外一個方法部署Django到Linux服務器上的方法,那就是Linux+uwsgi+mysql+nginx。詳情請移步至我的另一篇博客:Python3的安裝和虛擬環境的創建(CentOS)--進階篇