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配置中删除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

链接地址: http://www.djcxy.com/p/65931.html

上一篇: uWSGI Server log…permission denied to read file...which file?

下一篇: uwsgi + python2.7 unable to import anything