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

参考:使用uwsgi部署flask

报错


"找不到Python应用程序,请检查启动日志以查找错误"

或者:

no python application found, check your startup logs for errors

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

python 复制代码
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 的情况......我目前还没找到,找到再更新)


相关推荐
RisunJan1 分钟前
Linux命令-rsync(远程/本地文件同步 —— 增量传输的备份与镜像神器)
linux·运维·服务器
乱写代码16 分钟前
Pydantic学习--BaseModel
python
fu159357456830 分钟前
【边缘计算实战】P1:从零搭建边云任务卸载仿真实验台(Python 可复现)
数据库·python·边缘计算
蜡台1 小时前
通过Gradle脚本声明更改Java变量
android·java·开发语言·python·kotlin·gradle·groovy
Sinclair1 小时前
安企CMS的安装-宝塔面板部署
服务器·后端
希望奇迹很安静2 小时前
数通基本实验
运维·服务器·网络
智能体与具身智能2 小时前
TVA 本质内涵与核心特征(系列)
人工智能·python·智能体视觉
云雾J视界2 小时前
SST:高频变压器设计实战:铁氧体 vs 纳米晶 vs 非晶,磁性材料怎么选
python·acdc·dab·sst
第一程序员2 小时前
Rust trait 入门:把 AI 客户端抽象成可替换接口
python·rust·github
Ulyanov3 小时前
Python实现6-DOF刚体仿真器(下)——环境扰动与控制闭环
开发语言·python·算法·系统仿真·雷达电子对抗·导引头