我最近开发了一些使用Flask的站点(在virtualenv中运行在Debian上),当我testing的时候我可以在一个端口上运行它,让我们来说一下post 5000 。
所以我运行这样的脚本:
. env/bin/activate <- go into virtual environment python file.py <- run python script
我将会得到这个信息:
Running on http://0.0.0.0:5000/
所以这一切都很好,我可以访问我的网站在这个港口罚款。 但是…我的垃圾ISP总是在每天早晨凌晨1点左右重置一些东西。 我不知道这是什么,一切正常运行,但我总是打开任何SSH会话断开连接。 这使它运行,我所能做的就是调用:
lsof -i
这将告诉我的过程,但如果我杀了它,然后重新运行它变得奇怪。 的:
Running on http://0.0.0.0:5000
消息仍显示,但我无法连接到它了。 我试过改变端口号,似乎唯一的作品是在稍后或另一天再次尝试。 现在我假设我的服务器上的东西在这些时间之间重置,我想这也许是virtualenv会话超时,但我不知道如何手动做这个,有谁知道吗?
我不知道那里发生了什么,但如果你有一个不稳定的SSH连接,使用tmux。
tmux
它将打开一个terminal会话,该会话位于稍后可以重新连接的容器中。 如果会话断开连接,则在该虚拟terminal内运行的任何内容都将继续运行。 所以在你被踢出之后,ssh回来跑步
tmux attach
那么你会从你离开的地方继续。
还有另外一个更老的程序,这也叫做“屏幕”,但虽然是比较常见的,但并不积极维护。