1. 程式人生 > >Linux學習筆記之Django專案以程序的形式在後臺啟動(CentOS)

Linux學習筆記之Django專案以程序的形式在後臺啟動(CentOS)

一、引入

  個人現在對於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了,接下來就可以好好開發專案了。。。。。

  踩過很多坑 ,但是總算圓滿解決!