0

我尝试谷歌搜索和浏览,但无法找到答案,如果这个问题已经在某个地方得到解答,我深表歉意。

将 uwsgi + nginx 用于 web.py 应用程序时,我无法提供自定义 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()

提前致谢, 雅库布

4

1 回答 1

0

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

我更改了脚本,所以现在显示为:

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

一切似乎都运行良好。

于 2013-09-16T20:56:46.247 回答