web.py + uwsgi - 自定义404无效

时间:2013-09-14 19:46:00

标签: python nginx web.py

我尝试使用谷歌搜索和浏览但无法找到答案,所以如果这个问题已在某个地方得到解答,请道歉。

在为web.py应用程序使用uwsgi + nginx时,我无法提供自定义404页面。 使用web.py服务器一切正常,但在使用nginx时,我只能获得默认的web.py“未找到”页面。

有人能指出我在正确的方向吗?

我的配置:

nginx的:

server {
    listen 80;
    set $webappsdir /srv/www/webapps/;
    server_name *.devserver.local;

    if ($host ~* ^(.*)\.devserver\.local$) {
            set $appname $1;
    }

    location /static/ {
            try_files $uri =404;
    }

    location /templates/ {
            try_files $uri =404;
    }

    location / {
            include /etc/nginx/uwsgi_params;
            uwsgi_pass unix:///tmp/uwsgi_vhosts.sock;
            uwsgi_param UWSGI_CHDIR /srv/www/webapps/$appname;
            uwsgi_param UWSGI_PYHOME /srv/www/webapps/$appname;
            uwsgi_param UWSGI_SCRIPT index;
    }

}

/srv/www/webapps/example/index.py:

import web

urls = (
  '/', 'index'
)

app = web.application(urls, globals())
app.notfound = notfound

class index:
        def GET(self):
                return "Hello, world!"

def notfound():
        return web.notfound("404. Not found")

if __name__ == "__main__": app.run()
application = app.wsgifunc()

提前致谢, 的Jakub

1 个答案:

答案 0 :(得分:0)

在我设法修复“问题”时回复自己。

我更改了脚本以便现在读取:

if __name__ == "__main__": app.run()
application = app
application.notfound = notfound
application = app.wsgifunc()

这一切似乎都运转正常。