uWSGI服务器日志...权限被拒绝读取文件...哪个文件?
我有一台服务器在皇帝模式下运行带有uWSGI的Django / Nginx / uWSGI,并且它的错误日志(附件级错误日志,而不是皇帝级日志)每次产生一个新的worker时都会有一个连续的权限错误,像这样:
星期二6月26日19:34:55 - 重生的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
进入你的新贵配置文件,并从uwsgi配置中删除uid
和gid
设置。
你可以尝试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
上一篇: uWSGI Server log…permission denied to read file...which file?