如何让我的Django的服务器上运行后,即使关闭我的SSH会话?(How do I keep my

2019-07-29 10:37发布

我想出如何运行通过我的Django应用sudo python /home/david/myproject/manage.py runserver 68.164.125.221:80 。 然而,当我退出终端,服务器停止运行。

我试图在后台运行这个进程,但服务器刚刚关闭后很快我执行sudo python /home/david/myproject/manage.py runserver 68.164.125.221:80 &

如何让我的Django应用程序运行后,即使在我退出终端我的SSH会话?

PS - 如果这个问题你印象为基本对不起。 这样sillyness随之而来时前端的javascript程序员必须变成在断裂颈速度的服务器管理员。

Answer 1:

符合屏幕 。

通过ssh连接,启动屏幕。 这打开通过SSH提供的一个顶部的虚拟游戏机模拟器。 有启动服务器。

然后按Ctrl-a,然后d。 这种分离屏幕会话,保持它在后台运行。

为[R]电子附着到它,使用屏幕-r。

如果屏幕不安装,您可以不安装它,你也可以通过添加和指挥,你尝试过在后台启动的应用程序。 但你不应该关闭终端窗口即可; 刚断开,用bash命令退出,或按Ctrl-d。

屏幕的好处是,你仍然可以从服务器读取输出,万一有错误或任何东西。

屏幕是一个非常强大的工具,还有更多的命令。 您可以添加新的虚拟窗口,按Ctrl-a,然后C(用于创建); 通过用Ctrl-一个窗口切换,那么n(下一个)或P(以前的),...

但是,你需要它被安装使用它。 因为你似乎有root访问权,这不应该是一个问题。

编辑: TMUX是相同的用例另一个伟大的解决方案。



Answer 2:

使用screen来创建一个新的虚拟窗口,并运行服务器那里。

$ screen
$ python manage.py runserver

你会看到Django的服务器已开始运行。

现在,按Ctrl+A ,然后按D键从该屏幕分离。 它会说:

$ [detached from ###.pts-0.hostname]

现在,您可以安全地从终端注销,重新登录到终端,做其他目录中编码的其他位,去度假,做你想做的。


要返回到您从分离的屏幕,

$ screen -r

到现在杀Django的服务器,只需按下Ctrl+C ,就像您已经正常完成。


为了terminate这个当前屏幕,而不是detaching从该屏幕,使用Ctrl+D 。 它会说:

$ [screen is terminating]
$


Answer 3:

使用nohup的。 更改您的命令,如下所示:

nohup sudo python /home/david/myproject/manage.py runserver 68.164.125.221:80 &


文章来源: How do I keep my Django server running even after I close my ssh session?