我一直在努力通过文档和示例来让我的 Django 在新贵中运行,这样我就可以让它一直运行,但我做不到。
这是我的新贵配置文件,位于/etc/init/myapp.conf
:
start on startup
#expect daemon
#respawn
console output
script
chdir /app/env/bin
exec source activate
exec /app/env/bin/python /app/src/manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 &
end script
当我输入sudo service myapp start
时,控制台说它已经启动,但似乎没有运行。
是否可以查看一些调试输出以查看问题所在?我需要以另一个用户身份运行我的 Django 应用程序——即djangouser
. 我该怎么做?
(我一直在注释掉一些行来测试服务出错的地方)。这不是用于生产用途,但仅供我内部开发使用。
谢谢。
编辑#1:
我已经将我的两个命令包装成一个简单的脚本/app/run.sh
#!/bin/bash
cd /app/env/bin
source activate
cd /app/src
python manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 &
..我修改了我/etc/init/myapp.conf
的
start on startup
expect daemon
exec su - djangouser -c "bash /app/run.sh"
执行时sudo service myapp start
- 应用程序启动但 PID 错误,我似乎无法杀死它sudo service myapp stop
有任何想法吗?