2018年10月25日,Flask-socketIO的作者Miguel Grimberg在Elasticbeanstalk上回答了this way关于Flask-socketIO的问题。
一年后的今天,我试图用一个部署在EB Python2.7上的应用程序来做这件事,但是我不能让它工作。
Miguel对EB不使用eventlet web服务器表示怀疑,实际上我认为Apache不支持eventlet。
在其他地方,米格尔对EB的多线程表示怀疑,但我注意到在我的环境配置中有线程的数量(NumThreads: 15)。
我还在亚马逊网络服务发布的Python和Apache (显然)上找到了用于web套接字的this solution,但我不能让它工作(我实际上尝试过使用port=5000,对吗?)
在互联网上非常流行的一个解决方案甚至是这样的:
container_commands:
enable_websockets:
command: |
sed -i '/\s*proxy_set_header\s*Connection/c \
proxy_set_header Upgrade $http_upgrade;\
proxy_set_header Connection "upgrade";\
' /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf但它似乎与带有Apache web服务器的默认Python EB平台没有直接关系。
那么,是否有人在EB环境中使用Flask-socketIO,如果是的话,她可以分享一下配置吗?
发布于 2020-07-27 14:59:59
我不知道这是否可以作为我最初问题的答案,但我必须注意到,AWS Elasticbeanstalk已经升级到平台2 (Python3.7 + Amazon Linux2-3.0.x),也从Apache 2.4.43迁移到Nginx + Gunicorn。
实际上,这可以解决这个问题,但是在Apache中使用旧平台的一些兴趣仍然是相关的。
例如,在更新到platform 2之后,我不得不切换回platform 1,因为在创建我的应用程序环境(用aws打开的支持案例)时,pipenv (在新平台中替代pip)失败。
https://stackoverflow.com/questions/59300354
复制相似问题