Django runserver永久

时间:2009-07-27 14:36:19

标签: django shell

如何让django的开发服务器永久运行?所以当我退出shell时它不会停止。

由于

8 个答案:

答案 0 :(得分:64)

另一种简单的方法是运行:

[user@host]$screen
[user@host]$python manage.py runserver 0.0.0.0:8000

现在按Ctrl+A,然后按d退出此屏幕。

这会在屏幕中创建服务器,然后将其分离。这样您就可以返回并输入:

[user@host]$screen -r

你可以再次控制服务器并查看最新情况。

答案 1 :(得分:53)

如果您使用的是Linux / Unix,请使用“nohup”命令。

nohup manage.py runserver &

然后将其取回,请使用fg命令:

fg

感谢:Xiong Chiamiov

答案 2 :(得分:26)

像特拉维斯说的那样 - 使用屏幕。如果您还没有安装它,请去获取它:

sudo apt-get install screen
screen

点击进入。现在就像你在不同的终端窗口。

使用以下命令启动服务器:

python manage.py runserver 0.0.0.0:8000

现在您正在运行服务器,并且您希望在让django应用程序继续运行的同时返回到第一个屏幕。屏幕内置了一个很好的功能。要返回主终端类型:

ctrl+a d

从那里,您可以输入以下命令返回django屏幕:

screen -r

如果您打开了多个屏幕,则可以通过它的4-5位ID号码找到正确的屏幕:

screen -r 1333

手册页非常好:

man screen

答案 3 :(得分:9)

{{1}}

答案 4 :(得分:3)

使用此示例创建一个文件,例如 / tmp / screendjango

screen python manage.py runserver

然后你把:

screen -dmS django -c /tmp/screendjango

用于附上您放置的sessión

screen -d -r django.

答案 5 :(得分:0)

在Windows上,运行

pythonw.exe manage.py runserver

答案 6 :(得分:0)

我自己就是要这样做。场景是我正在为客户快速进行原型设计,他们需要看看事情的样子。一次不会超过2-3人,但我不想设置Apache或保持登录状态。

sudo ./manage.py runserver 192.168.1.94:80 [run this on port 80 so a normal business user can see it]
ctrl+z [to suspend the job (same thing as appending & to the above command but then I don't need to deal with entering the sudo password on the command line)]
bg %1 [puts the job in the background]
jobs [just to see what's going on]
exit [exit the session]

答案 7 :(得分:0)

对于Windows,您可以使用以下命令

python manage.py runserver 0.0.0.0:8000

对于ubuntu / linux使用

nohup python manage.py runserver 0.0.0.0:8000 &

从nohup命令返回使用fg命令

fg