我想用FastCGI运行我的Django sitw。
我可以使用以下命令成功启动TCP服务器。
python manage.py runfcgi method=prefork host=127.0.0.1 \
port=3000 maxrequests=100 daemonize=true
但是,如果我在命令中添加了pidfile选项,则会失败。
python manage.py runfcgi method=prefork host=127.0.0.1 \
port=3000 maxrequests=100 daemonize=true pidfile=/var/run/django.pid
我没有使用第二个命令打印出异常,但TCP服务器未启动。
Django版本:1.6.11
我可能知道造成这种失败的原因是什么?
我猜失败可能是由许可问题引起的。我正在使用标准用户运行命令。但是,如果我使用sudo
,则无法解决问题。
感谢Andriy的回答,我已经解决了这个问题。由于权限,TCP服务器未启动。但是,只需使用sudo
执行命令就不起作用。
此外,我确实尝试使用django.pid
作为pidfile名称。但是,似乎脚本无法正确解析相对路径。将pidfile更改为当前用户有权使用绝对路径写入的文件夹后,它可以正常工作!
答案 0 :(得分:1)
最有可能的是,你有{strong> no permisson 在/var/run/django.pid
内创建pidfile。
您可以使用命令
更改/var/run
的{{3}}
sudo chmod -R 666 /var/run
例如,或将 pidfile 放在您具有写入权限的文件夹下。
python manage.py runfcgi method=prefork host=127.0.0.1 \
port=3000 maxrequests=100 daemonize=true pidfile=$HOME/django.pid