如何让Django不挂断运行,断开xshell服务器连接也行的那种
网上搜索了很多答案,思路无非两种:1、nohup运行 2、建screen运行
参考资料:Django项目后台不挂断运行的方法 - python基础 - 谷谷点程序
因为是第一次遇到自运维,这条路没走过,网上找不到更多运行成功资料和截图,还是莫名有点怵,纠结了下,总得选条路试试,于是根据字面意思选了第2种,直觉可能会顺利些。
先查了下资料,大致了解了下screen是什么,官方解释是:
Screen是一个全屏窗口管理器,它在多个进程(通常是交互式shell)之间多路传输物理终端。每个虚拟终端提供DEC VT100终端的功能,以及ANSI X3的几个控制功能。64(ISO 6429)和ISO 2022标准(例如,插入/删除行和支持多个字符集)。每个虚拟终端都有一个回滚历史缓冲区和一个复制粘贴机制,允许用户在窗口之间移动文本区域。当调用screen时,它会创建一个包含shell(或指定命令)的窗口,然后避开您的方式,以便您可以正常使用该程序。然后,您可以随时创建包含其他程序(包括更多shell)的新(全屏)窗口、关闭当前窗口、查看活动窗口列表、打开和关闭输出日志、在窗口之间复制文本、查看滚动历史记录、在窗口之间切换,等等。所有窗口都完全独立运行其程序。当窗口当前不可见时,甚至当整个屏幕会话与用户终端分离时,程序仍继续运行。
第1步:安装screen
xshell连接到服务器,命令安装screen
安装成功的样子
第2步:新建一个screen
新建一个screen,可自己命名,一开始看到很多资料上用的命令是screen -S xiedi,我理解xiedi应该是个name,可自定义,但是所有资料都用的xiedi,把我整不会了,于是翻查了下screen的资料,确实只是一个name而已,于是我用自己的项目名称试了下,bingo!!
随后会打开一个新的窗口,在窗口输入你的启动命令就可以了,就是那句
我的项目已经正常运行1天了,亲测此法可行,才写下记录
但是问题还没完,下次我想要重启项目怎么办,退出后怎么找到这个screen
xshell重新连接到服务器,输入查找命令
找到screen
输入以下命令连上这个screen(注意要使用到查询的screen的id),自动加载新的弹窗,就可以看见之前项目运行的情况
如果有那么一天,不用这个screen了,记得删除它~