首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >uWSGI上的权限被拒绝问题

uWSGI上的权限被拒绝问题
EN

Stack Overflow用户
提问于 2016-01-23 08:31:41
回答 2查看 2K关注 0票数 1

我已经在Ubuntu 13.04服务器上设置了一个基于django的项目。我可以在uWSGI配置文件上使用'root‘权限运行这个项目。但是当我尝试用标准的'www-data‘用户运行这个命令时,我得到了:

代码语言:javascript
运行
复制
chdir(): Permission denied [uwsgi.c line 1851] 

我已经将我的项目及其相应的virtualenv文件夹的所有权更改为'www-data‘,但再次出现此错误!

我的uWSGI配置文件如下所示:

代码语言:javascript
运行
复制
[uwsgi]

# Django-related settings
# the base directory (full path)
chdir           = /root/my_project
# Django's wsgi file
module          = my_project.wsgi
# the virtualenv (full path)
home            = /root/.virtualenvs/my_project

# process-related settings
# master
master          = true
# maximum number of worker processes
processes       = 10
# the socket (use the full path to be safe
socket          = unix:///root/my_project/server.uwsgi.sock

chmod-socket    = 666
uid     = www-data
gid     = www-data


# clear environment on exit
vacuum          = true

出什么事了?

EN

回答 2

Stack Overflow用户

发布于 2016-01-23 17:29:12

您的chdirhomesocket指令都使用/root/作为它们的基目录,这是root用户的‘svhome目录,因此其他用户没有访问权限。此外,可能还存在一些SELinux限制。

尝试为你的项目创建一个单独的文件夹,即在/home/ (/home/www-data)中,确保你的www-data用户有权访问它,并将你的项目和venv移到那里,然后更改设置(包括socket)并重试。

票数 2
EN

Stack Overflow用户

发布于 2018-08-02 05:41:48

这可以通过在用户名前添加一个0 (0www-data)来轻松解决。

如果你不关心安全性,因为它会授予root权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34958222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档