uwsgi mountpoints问题:RuntimeError:class .__ dict__在限制模式下无法访问

时间:2015-07-13 14:38:19

标签: python nginx pyramid uwsgi

金字塔应用程序将RuntimeError: class.__dict__ not accessible in restricted mode抛出到python2.7/site-packages/zope/interface/declarations.py,同时通过uwsgi从nginx获取请求。在这种情况下使用uwsgi挂载点配置。没有挂载点 - 没有错误。

基于nginx + uwsgi + pyramid + supervisor进行以下配置:

Pyramid配置ini文件:

[uwsgi]
socket = PATH_TO_SOCK
virtualenv = PATH_TO_VIRTUALENV
module = MODULE_NAME
mount = /URL_SUB_PATH=MODULE_NAME/uwsgiapp.py
manage-script-name = true
env = PASTE_CONFIG=%p

uwsgi.py:

from paste.deploy import loadapp
app = loadapp('config:' + os.environ['PASTE_CONFIG'])    

def application(environ, start_response):
    if os.environ.get('WSGI_FILE_WRAPPER', 'yes').lower() in ('no', 'false'):
        environ.pop('wsgi.file_wrapper', None)
    return app(environ, start_response)
从supervisor.conf运行的

命令:

command=PATH_TO_VIRTUALENV/bin/uwsgi --ini-paste PATH_TO_PYRAMID_CONF_INI

和nginx config的片段:

upstream UPSTREAM_NAME {
        server unix:///PATH_TO_SOCK;
}

location /URL_SUB_PATH/ {
        uwsgi_pass UPSTREAM_NAME;
        include     uwsgi_params;
}

这种意外行为的原因是什么?

0 个答案:

没有答案