报错
“找不到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 的情况……我目前还没找到,找到再更新)