Django 启动:作业无法启动UWSGI,

Django 启动:作业无法启动UWSGI,,django,ubuntu,uwsgi,Django,Ubuntu,Uwsgi,正在尝试配置ubuntu+nginx+uwsgi+django upstart脚本/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

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

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

启动:作业无法启动

我应该检查什么来处理它

UPD: 在启用virtualenv的情况下,应用程序使用uwsgi命令成功运行


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

uwsgi没有在指定目录中创建套接字文件的权限。要解决这个问题,您可以在创建套接字之后,以root用户身份运行皇帝,并删除vassal中的特权。只需将以下内容添加到您的附属配置中:

username = voxa
gropuname = www-data
并从upstart配置文件中删除
setuid
setgid


如果您担心有人会滥用它并使用其他用户/组,您可以使用皇帝,方法是在upstart config中的uwsgi起始行中添加
--emperon tyrant
。这将禁止将用户名和组名更改为非附属配置文件的所有者。

尝试使用user
voxa
和group
www-data
从您的终端运行
/usr/local/bin/uwsgi--emperor/etc/uwsgi/sites
。这可能会给你一些错误日志或失败的任何原因。“!!!没有内部路由支持,使用pcre支持重建!!!”和“bind():权限被拒绝[core/socket.c line 230]”谢谢,它可以工作,但只有在我将项目根文件夹权限更改为777后才能工作。它可以吗?从安全角度看,它不是!如果您正在与其他人共享服务器,或者服务器上有不同的项目,运行在不同的用户上,那么您不应该使用它。如果您在用户voxa上运行此项目,则项目文件应归该用户所有