我在谷歌计算引擎上有一个实例,通过终端连接到它:gcutil ssh
,我有几个 DJango服务。我使用:python manage.py runserver 0.0.0.0:8000
运行服务器。这些服务是从 iPhone应用程序 IOS 6.1
问题我面临的是,每隔几分钟(10-15之间)我就会断开连接,必须重新连接并再次运行服务器。
为什么我的服务器断开连接,如何让它保持运行?
答案 0 :(得分:0)
尝试使用supervisor.d。这听起来像你想要做的事情,主管可以保持你的过程正常运行。 http://supervisord.org/ 这是一个例子:
[program:app]
process_name = app-%(process_num)s
command =python /home/ubuntu/production/current/app/src/app.py --port=%(process_num)s
# Increase numprocs to run multiple processes on different ports.
# Note that the chat demo won't actually work in that configuration
# because it assumes all listeners are in one process.
numprocs = 4
numprocs_start = 8000
这是用于运行同一程序的多个进程。只需改变args,它应该适合你。
答案 1 :(得分:0)
SSH通常会在一段时间不活动后超时,这可能就是这里发生的事情。如果是这样,this article可能有助于配置SSH以发送常规消息,从而减少连接丢失的可能性。
但是,核心问题是您希望终端启动的软件即使在您退出时也能继续运行。考虑使用screen或tmux来托管您的shell会话。即使您没有连接,这也可以使您的shell软件运行,并且您可以在重新连接时从中断处继续选择。这是一个很好的getting started post about tmux。
准备好投入生产后,请查看Django deployment docs。