我尝试使用谷歌搜索和浏览但无法找到答案,所以如果这个问题已在某个地方得到解答,请道歉。
在为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
答案 0 :(得分:0)
在我设法修复“问题”时回复自己。
我更改了脚本以便现在读取:
if __name__ == "__main__": app.run()
application = app
application.notfound = notfound
application = app.wsgifunc()
这一切似乎都运转正常。