繁体   English   中英

uWSGI服务器日志...权限被拒绝读取文件...哪个文件?

[英]uWSGI Server log…permission denied to read file…which file?

我有一个服务器在emperor模式下使用uWSGI运行Django / Nginx / uWSGI,并且它的错误日志(vassal级错误日志,而不是皇帝级日志)每次生成一个新worker时都会有一个连续的权限错误,像这样:

Tue Jun 26 19:34:55 2012 - 重生的uWSGI工人2(新pid:9334)

打开文件进行读取时出错:权限被拒绝

问题是,我不知道什么文件打开有问题; 显然,它不是日志文件,因为我正在查看它并且它正在写入没有问题。 有什么方法可以找到? 我在Ubuntu 12.04上通过Upstart运行uWSGI 1.0.3-debian的apt-get版本。 该网站正在成功运行,除了看起来像是内存泄漏......因此我查看了日志文件。 我已尝试更改整个/ opt /目录的权限以包含uwsgiuser用户,但无济于事。 我正在使用TCP套接字,因此权限不应成为问题。 它是缓存吗? 这有自己的权限吗? 如果是的话,在哪里?

My Upstart conf file

description "uWSGI" start on runlevel [2345] stop on runlevel [06] respawn

env UWSGI=/usr/bin/uwsgi env LOGTO=/var/log/uwsgi/emperor.log

exec $UWSGI \
--master \
--emperor /etc/uwsgi/vassals \
--die-on-term \
--auto-procname \
--no-orphans \
--logto $LOGTO \
--logdate

我的Vassal ini档案:

[uwsgi]
# Variables
base = /opt/env/mysiteenv

# Generic Config
uid = uwsgiuser
gid = uwsgiuser
socket = 127.0.0.1:5050
master = true
processes = 2
reload-on-as = 128
harakiri = 60
harakiri-verbose = true
auto-procname = true
plugins = http,python
cache = 2000
home = %(base)
pythonpath = %(base)/mysite
module = wsgi
logto = /opt/log/mysite/error.log
logdate = true

这个问题的实际答案似乎是这个特定于Ubuntu的错误:

https://bugs.launchpad.net/ubuntu/+source/libjpeg-turbo/+bug/1031718

您可以通过放置线来解决问题

setuid uwsgiuser
setgid uwsgiuser

进入您的upstart配置文件,并从您的uwsgi配置中删除uidgid设置。

你可以尝试strace这个过程,看看是什么原因引发的错误消息,是这样的:

UWSGI=/usr/bin/uwsgi LOGTO=/var/log/uwsgi/emperor.log strace -f -o strace.log -etrace=open,write $UWSGI --master --emperor /etc/uwsgi/vassals --die-on-term --auto-procname --no-orphans --logto $LOGTO --logdate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM