python - 如何解决“上游过早关闭”
问题描述
我正在设置我的服务器,以避免在客户端调用中随机出现“上游过早关闭”错误 502。我的 Rest API Python/Flask 托管在 Nginx/Uwsgi 上的 AWS 上,我最多有 200 个并发用户。
在错误日志中,我收到以下消息:
1180 上游过早关闭连接,同时从上游读取响应标头,客户端:xxx.xx.xx.xx,服务器:_,请求:“POST /API/sendmessage HTTP/1.1”,上游:“uwsgi://unix:// /opt/python/log/uwsgi.sock:”,主机:“XXX.XXXX-prod.com”
在 access.log 我得到 502:
“POST /API/sendmessage HTTP/1.1” 502 166 “-” “okhttp/3.12.1”
我已经在 AWS 上尝试了一个 Apache 配置,结果是最糟糕的!这是我目前的配置:
在 64 位 Amazon Linux/2.8.6 上运行的 Python 3.6
类型 d'instance EC2:c5.large
我分享了我的设置文件的一些配置:
exec /opt/python/run/venv/bin/uwsgi \
--socket=/opt/python/log/uwsgi.sock \
--chdir=/opt/python/current/app \
--module=wsgi:application \
--pidfile=/opt/python/run/uwsgi-master.pid \
--processes=4 \
--threads=1 \
--master \
--uid=wsgi \
--gid=wsgi \
--harakiri=300 \
--max-requests=5000 \
--vacuum \
--die-on-term \
--venv=/opt/python/run/venv \
--chmod-socket=666
我尝试了多种方法:更改进程、线程、删除主机、“按期死亡”,但我真的被卡住了。我想我已经阅读了 Stack Overflow 和 Google 上与该主题相关的所有文章。
解决方案
推荐阅读
- javascript - 来自输入表单的嵌套 JSON
- angular - ngx-data table如何在angualr -6的数据表中显示嵌套的json数据
- sql-server - 在多部分标识符之间弹跳无法绑定和不明确的列名
- scala - RDD take() 方法如何在内部工作?
- css - CSS 展示邮票效果在 IE 11 中不起作用
- javascript - onDataPointClick 功能不起作用 - react-native-chart-kit
- javascript - 查询字符串更改时更新反应组件
- java - 模拟 Instant.now() 而不在构造函数中使用时钟或没有时钟对象
- reactjs - 用于编辑数据的 React 组件
- javascript - 在 React.JS 中的映射函数中嵌套映射函数