开始:作业无法启动 UWSGI,

start: Job failed to start UWSGI,

正在尝试配置ubuntu+nginx+uwsgi+django

暴发户脚本/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 之后我得到一个错误

启动:作业启动失败

我应该检查什么来处理?

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

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

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

username = voxa
gropuname = www-data

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

如果您担心有人会滥用它并使用其他 user/group,您可以使用 emperor tyrant mode,通过将 --emperor-tyrant 添加到 upstart 配置中的 uwsgi 起始行。这将不允许将用户名和组名更改为 vassal 配置文件所有者以外的其他人。