nginx和fastcgi部署web.py问题总结

nginx和fastcgi部署web.py问题总结

部署方法,参见web.py的cookbook

1跳转web.seeother没有预期效果

如下面的代码,预期效果是实现跳转:

class SomePage:
    def POST(self):
        # Do some application logic here, and then:
        raise web.seeother('/someotherpage')

但在这样部署的环境下就没有效果。 解决方法是,在启动fastcgi的命令前,运行以下命令:

export REAL_SCRIPT_NAME=""

2流传输文件,使用yield没有预期效果

使用流传输文件,如下面的代码,预期效果是一部分一部分的传输文件:

class count_down:
    def GET(self,count):
        # These headers make it work in browsers
        web.header('Content-type','text/html')
        web.header('Transfer-Encoding','chunked')
        yield '<h2>Prepare for Launch!</h2>'
        j = '<li>Liftoff in %s...</li>'
        yield '<ul>'
        count = int(count)
        for i in range(count,0,-1):
            out = j % i
            time.sleep(1)
            yield out
        yield '</ul>'
        time.sleep(1)
        yield '<h1>Lift off</h1>'

但在这样部署的环境下就没有效果,文件还是一次就传完,而不是分步的。 解决方式,在nginx.conf中添加如下配置:

http{
	......
	fastcgi_buffering off;
	......
}

转载于:https://my.oschina.net/kyle960/blog/1933667

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值