我想出如何运行通过我的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程序员必须变成在断裂颈速度的服务器管理员。
符合屏幕 。
通过ssh连接,启动屏幕。 这打开通过SSH提供的一个顶部的虚拟游戏机模拟器。 有启动服务器。
然后按Ctrl-a,然后d。 这种分离屏幕会话,保持它在后台运行。
为[R]电子附着到它,使用屏幕-r。
如果屏幕不安装,您可以不安装它,你也可以通过添加和指挥,你尝试过在后台启动的应用程序。 但你不应该关闭终端窗口即可; 刚断开,用bash命令退出,或按Ctrl-d。
屏幕的好处是,你仍然可以从服务器读取输出,万一有错误或任何东西。
屏幕是一个非常强大的工具,还有更多的命令。 您可以添加新的虚拟窗口,按Ctrl-a,然后C(用于创建); 通过用Ctrl-一个窗口切换,那么n(下一个)或P(以前的),...
但是,你需要它被安装使用它。 因为你似乎有root访问权,这不应该是一个问题。
编辑: TMUX是相同的用例另一个伟大的解决方案。
使用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]
$
使用nohup的。 更改您的命令,如下所示:
nohup sudo python /home/david/myproject/manage.py runserver 68.164.125.221:80 &