开始:作业无法启动UWSGI,

时间:2016-04-20 10:22:14

标签: django ubuntu uwsgi

尝试配置ubuntu + nginx + uwsgi + django

upstart script /etc/init/uwsgi.conf

description "uWSGI application server in Emperor mode"

start on runlevel [2345]
stop on runlevel [!2345]

setuid voxa
setgid www-data

exec /usr/local/bin/uwsgi --emperor /etc/uwsgi/sites

uwsgi配置

[uwsgi]
project = project
base = /home/user

chdir = %(base)/%(project)
home = home/user/Env/project_env
module = %(project).wsgi:application

master = true
processes = 5

socket = %(base)/%(project)/%(project).sock
chmod-socket = 664
vacuum = true

socket = %(base)/%(project)/%(project).sock
chmod-socket = 664
vacuum = true

但是在运行命令 sudo service uwsgi start 之后我收到错误

开始:作业无法启动

我应该检查什么来处理它?<​​/ p>

UPD: 启用virtualenv的应用程序使用uwsgi命令成功运行

uwsgi --http:8000 --module project.wsgi

1 个答案:

答案 0 :(得分:3)

uWSGI无权在指定目录中创建套接字文件。要解决这个问题,您可以在创建套接字后以root身份运行emperor并在vassal中删除权限。只需添加到您的附庸配置:

username = voxa
gropuname = www-data

从您的upstart配置文件中删除setuidsetgid

如果您担心某人会滥用该内容并使用其他用户/群组,则可以使用emperor tyrant mode,将--emperor-tyrant添加到upstart配置中的uwsgi起始行。这将禁止将用户名和组名更改为vassal配置文件的所有者。