Журнал сервера uWSGI ... не разрешено чтение файла ... какой файл?

У меня есть сервер, на котором работает Django / Nginx / uWSGI с uWSGI в режиме императора, и в журнале ошибок для него (журнал ошибок на уровне вассала, а не журнал на уровне императора) постоянно появляется ошибка прав доступа каждый раз, когда он порождает нового работника, вот так:

Tue Jun 26 19:34:55 2012 - Respawned uWSGI worker 2 (new pid: 9334)

Error opening file for reading: Permission denied

Проблема в том, что я не знаю, какой файл у него возникли проблемы с открытием; это, очевидно, не файл журнала, так как я смотрю на него и пишу на него без проблем. Есть ли способ узнать? Я запускаю apt-get версию uWSGI 1.0.3-debian через Upstart в Ubuntu 12.04. Сайт работает успешно, кроме того, что похоже на утечку памяти ... отсюда мой взгляд на файл журнала. Я экспериментировал с изменением разрешений всего каталога / opt / для включения пользователя uwsgiuser, но безрезультатно. Я использую сокет TCP, так что разрешения там не должны быть проблемой. Это кеш? У этого есть свои & apos; собственные разрешения? Если да, то где?

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
 Amber27 июн. 2012 г., 08:13
Это, вероятно, более вероятно, чтобы получить полезный ответ на ServerFault.

Ответы на вопрос(2)

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

Решение Вопроса

характерная для Ubuntu:

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

Вы можете обойти проблему, поставив линии

setuid uwsgiuser
setgid uwsgiuser

в файл конфигурации выскочки, и удаливuid а такжеgid настройки из вашей конфигурации uwsgi.

 bkev18 янв. 2013 г., 01:35
Это полностью сработало; Спасибо огромное. Ошибка сводила меня с ума.
 13 нояб. 2014 г., 10:36
Что такое файл конфигурации upstart?
 13 нояб. 2014 г., 17:11
@uszywielorybaUpstart является заменой инициализации в Ubuntu. Он запускает задания на основе файлов в/etc/init (среди других мест).

Ваш ответ на вопрос