Flask-socketIO的作者Miguel Grimberg于2018年10月25日就Elasticbeanstalk上的Flask-socketIO回答了this way。
现在,一年后,我正尝试使用在EB Python 2.7上部署的应用程序来执行此操作,但是我无法使其正常工作。
Miguel对EB不使用eventlet Web服务器表示怀疑,实际上我认为Apache不支持eventlet。
在其他地方,Miguel对EB是多线程表示了怀疑,但是我注意到在我的环境配置中,线程数量很多(NumThreads:15)。
我还发现this solution是AWS发布的Python和Apache(显然)用于Web套接字的,但是我无法使其正常工作(我实际上尝试使用port = 5000吗?)。
在Internet上非常流行的解决方案甚至是:
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吗?如果可以的话,她可以共享配置吗?
答案 0 :(得分:0)
我不知道是否可以将其视为我的原始问题的答案,但我必须注意,AWS Elasticbeanstalk已升级到平台2(Python3.7 + Amazon Linux2-3.0.x),该平台也已从将Apache 2.4.43转换为Nginx + Gunicorn。
实际上,这可以解决这个问题,但是对于将旧平台与Apache结合使用仍然有些兴趣。
例如,在更新到平台2之后,我不得不切换回平台1,因为在创建我的应用程序环境(使用aws打开支持案例)时pipenv(在新平台中替换为pip)失败。