0
点赞
收藏
分享

微信扫一扫

linux下使用nohup挂后台启动django项目

修炼之士 2022-02-12 阅读 192

django在linux上运行,一般在xshell远程连接后,是通过如下命令启动服务:

python manage.py runserver 0.0.0.0:8000

但是这样有个弊端,窗口关闭服务就停止了,如何做到窗口关闭服务不停止呢?那就是后台启动!!!

而nohup可以实现django项目启动的时候挂后台运行,保证窗口关闭不影响服务运行。

具体操作如下:

步骤1:cd切换到django的manage.py目录,启动之前先杀掉之前的django manage.py方式运行进程。方法参考linux如何停止后台运行的Django项目icon-default.png?t=M0H8https://blog.csdn.net/qq_36564503/article/details/122628691步骤2:接着使用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可以看到实时日志

举报

相关推荐

0 条评论