0

グーグルやブラウジングを試みましたが、答えを見つけることができなかったので、この質問がどこかですでに答えられていたら申し訳ありません.

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()

前もって感謝します、ヤクブ

4

1 に答える 1

0

「問題」を解決できたので、自分に返信します。

スクリプトを変更したので、次のようになりました。

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

そして、それはすべてうまくいっているようです。

于 2013-09-16T20:56:46.247 に答える