Django 启动:作业无法启动UWSGI,
正在尝试配置ubuntu+nginx+uwsgi+django upstart脚本/etc/init/uwsgi.confDjango 启动:作业无法启动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
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.wsgiuwsgi没有在指定目录中创建套接字文件的权限。要解决这个问题,您可以在创建套接字之后,以root用户身份运行皇帝,并删除vassal中的特权。只需将以下内容添加到您的附属配置中:
username = voxa
gropuname = www-data
并从upstart配置文件中删除setuid
和setgid
如果您担心有人会滥用它并使用其他用户/组,您可以使用皇帝,方法是在upstart config中的uwsgi起始行中添加
--emperon tyrant
。这将禁止将用户名和组名更改为非附属配置文件的所有者。尝试使用uservoxa
和groupwww-data
从您的终端运行/usr/local/bin/uwsgi--emperor/etc/uwsgi/sites
。这可能会给你一些错误日志或失败的任何原因。“!!!没有内部路由支持,使用pcre支持重建!!!”和“bind():权限被拒绝[core/socket.c line 230]”谢谢,它可以工作,但只有在我将项目根文件夹权限更改为777后才能工作。它可以吗?从安全角度看,它不是!如果您正在与其他人共享服务器,或者服务器上有不同的项目,运行在不同的用户上,那么您不应该使用它。如果您在用户voxa上运行此项目,则项目文件应归该用户所有