7

エンペラーモードでuWSGIを使用してDjango/Nginx / uWSGIを実行しているサーバーがあり、そのエラーログ(エンペラーレベルのログではなく、家臣レベルのエラーログ)に、新しいワーカーを生成するたびに継続的なアクセス許可エラーがあります。そのようです:

2012年6月26日火曜日19:34:55-復活したuWSGIワーカー2(新しいpid:9334)

読み取り用にファイルを開くときにエラーが発生しました:アクセスが拒否されました

問題は、どのファイルを開くのに問題があるのか​​わからないことです。明らかに、それはログファイルではありません。私がそれを見ていて、問題なく書き込みを行っているからです。見つける方法はありますか?Ubuntu12.04のUpstartからapt-getバージョンのuWSGI1.0.3-debianを実行しています。メモリリークのように見えることを除けば、サイトは正常に機能しています...したがって、ログファイルを調べています。/ 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
4

2 に答える 2

8

この質問に対する実際の答えは、この Ubuntu 固有のバグのようです。

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

行を配置することで問題を回避できます

setuid uwsgiuser
setgid uwsgiuser

upstart 構成ファイルに追加し、uwsgi 構成からuidとの設定を削除します。gid

于 2012-11-01T14:10:58.667 に答える
3

プロセスを試して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

于 2012-06-27T07:03:39.807 に答える