flask+uwsgi+云服务器 部署服务端

参考:使用uwsgi部署flask

报错


“找不到Python应用程序,请检查启动日志以查找错误”
或者:
no python application found, check your startup logs for errors

debug 过程:查到Python uWSGI 安装配置 里面说,先写测试文档:

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]

运行之后,没有报错,下面文中继续解释说:

uWSGI Python 加载器将会搜索的默认函数 application

在 flask 框架中,我的 app.py 文件的程序叫 app ,所以才会找不到 python application,所以解决方法:
uwsgi --plugin python --http :8099 --wsgi-file app.py --callable app

(即在后面加一个 --callable 参数即可)


报错:Error reading 15857 bytes. Content-Length: 15857 consumed: 0 left: 15857 message: Client closed connection
这个错误是发生在小程序上传图片到服务器,服务器端收不到这个信息。此时服务器端直接返回了 400 error 页面。

查到的信息是说,设置的 buffer 太小了,或者超时关闭。但是我把 buffer 改大并没有用,测试仅上传一句文本,还是错误。超时就更不会了,因为这个错误是点击上传之后,秒报错。

但是我在电脑端用 Python 上传就没问题,仔细排查,原因是 Python 代码上传的时候填的是 公网 ip,但是小程序上传的时候填的是 解析后的域名。我不知道是不是域名解析出了什么问题,还是别的什么原因,把域名改成公网 IP 之后就可以正常运行了。

(即,解决方法是,把 request 中 url 参数中的域名改成公网 ip;至于非要用域名,不能用公网 ip 的情况……我目前还没找到,找到再更新)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值