我有一个服务器在emperor模式下使用uWSGI运行Django / Nginx / uWSGI,并且它的错误日志(vassal级错误日志,而不是皇帝级日志)每次生成一个新worker时都会有一个连续的权限错误,像这样:
Tue Jun 26 19:34:55 2012 – Respawned uWSGI worker 2 (new pid: 9334)
Error opening file for reading: Permission denied
问题是,我不知道什么文件打开有问题;显然,它不是日志文件,因为我正在查看它并且它正在写入没有问题的文件.有什么方法可以找到?我在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
我的附庸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