我正在设置服务器,以避免在客户端调用中随机出现的“上游过早关闭”错误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” 502166“-”“ 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上与此主题相关的所有文章。