一、引入 個人現在對於Linux操作系統最不滿意的就是,預設給你裝的是python2.x,但是現在基本都是使用python3.x,這兩個版本的差別太大,會導致很多問題,有很多的坑要填。比如我這篇博客遇到的問題。 用Django寫了一個測試的項目,現在要部署在Linux上,一般這種情況下,只要在項目里 ...
一、引入
個人現在對於Linux操作系統最不滿意的就是,預設給你裝的是python2.x,但是現在基本都是使用python3.x,這兩個版本的差別太大,會導致很多問題,有很多的坑要填。比如我這篇博客遇到的問題。
用Django寫了一個測試的項目,現在要部署在Linux上,一般這種情況下,只要在項目裡面敲一行命令:python manage.py runserver 0.0.0.0:8000就行了。但這是在開發項目的時候用這個可以測試項目,在瀏覽器看到效果。正真部署到伺服器上,這樣是不行的,因為視窗一關,Django也就關了。當然你也可以一直不關。。。。。。
本來是想通過supervisor來做這個進程管理的,但是supervisor只支持python2.x,而我的電腦已經裝了python3.x,然後就會有各種報錯,無法安裝supervisor,哎。。。。。。
然後繼續百度找解決方案。。。。功夫不負有心人!參考博客: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關閉Django服務,如下圖所示:前兩個圖是啟動之後的,後兩個是關閉之後的。
5.日誌文件,原來我們的runserver之後會有很多的請求日誌,現在都存在上面設置的日誌文件(log_app.out)裡面了
6.展示一下項目結構:
三、總結
我的Django項目是用Nginx這個Web服務轉發的,當這個問題解決後,項目的測試環境也就OK了,接下來就可以好好開發項目了。。。。。
踩過很多坑 ,但是總算圓滿解決!