Linux學習20-nohup掛后台啟動django


前言

django在linux上運行,一般在xshell遠程連接后,是通過python manage.py runserver 0.0.0.0:8000啟動服務。但是這樣有個弊端,窗口關閉服務就停止了。
nohup可以啟動的時候掛后台運行

nohup后台運行

cd到django的manage.py目錄,啟動之前先殺掉進程

[root@yoyo ~]# cd /usr/local/django2/
[root@yoyo django2]# ps -aux | grep python|xargs kill -9
kill: cannot find process "root"
kill: sending signal to 21029 failed: No such process
kill: cannot find process "0.0"
kill: cannot find process "0.0"
kill: sending signal to 112660 failed: No such process
kill: sending signal to 968 failed: No such process
kill: cannot find process "pts/2"
kill: cannot find process "S+"
kill: cannot find process "14:32"
kill: cannot find process "0:00"
kill: cannot find process "grep"
kill: cannot find process "--color=auto"
kill: cannot find process "python"
[root@yoyo django2]# 

接着使用nohup啟動進程,可以指定日志輸出到djo.out,如果不指定默認是在nohup.out。指定日志路徑后面加上2>&1 &

[root@yoyo django2]# nohup python manage.py runserver 0.0.0.0:8000 >djo.out 2>&1 &
[1] 21616
[root@yoyo django2]# tail -f djo.out 
nohup: ignoring input
[25/Mar/2019 14:36:31] "GET / HTTP/1.1" 200 24
[25/Mar/2019 14:36:37] "GET / HTTP/1.1" 200 24
[25/Mar/2019 14:36:38] "GET / HTTP/1.1" 200 24
[25/Mar/2019 14:36:39] "GET / HTTP/1.1" 200 24

查看實時日志可以用tail -f djo.out

start.sh和stop.sh

接着可以在manage.py目錄下一個start.sh文件啟動django,再寫個stop.sh停掉django服務。
使用vim start.sh編輯以下2行,編輯完成后Esc退出,輸入:wq保存退出

[root@yoyo django2]# vim start.sh

ps -aux | grep python|xargs kill -9
nohup python manage.py runserver 0.0.0.0:8000 >djo.out 2>&1 &

繼續使用vim start.sh編輯,編輯完成后Esc退出,輸入:wq保存退出

ps -aux | grep python|xargs kill -9

編輯完成之后,授權這2個文件

[root@yoyo django2]# chmod +777 start.sh

[root@yoyo django2]# chmod +777 stop.sh

啟動django

啟動服務執行./start.sh,關閉服務執行./stop.sh

啟動完成后,在瀏覽器輸入地址,然后執行tail -f djo.out可以看到實時日志


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM