前言
django在linux上運行,通常在xshell遠程鏈接後,是經過python manage.py runserver 0.0.0.0:8000啓動服務。可是這樣有個弊端,窗口關閉服務就中止了。 nohup能夠啓動的時候掛後臺運行python
nohup後臺運行
cd到django的manage.py目錄,啓動以前先殺掉進程linux
[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 &
shell
[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
django
start.sh和stop.sh
接着能夠在manage.py目錄下一個start.sh文件啓動django,再寫個stop.sh停掉django服務。 使用vim start.sh編輯如下2行,編輯完成後Esc退出,輸入:wq
保存退出vim
[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個文件spa
[root@yoyo django2]# chmod +777 start.sh [root@yoyo django2]# chmod +777 stop.sh
啓動django
啓動服務執行./start.sh
,關閉服務執行./stop.sh
日誌
啓動完成後,在瀏覽器輸入地址,而後執行tail -f djo.out
能夠看到實時日誌code