【发布时间】:2018-07-27 18:09:27
【问题描述】:
我目前在使用带有 eventlet 的 flask-socketio 运行 Flask 应用程序时遇到问题。当我在没有 eventlet 的情况下推送到 AWS 时,我的应用程序运行良好。这很棒,但是我希望我的应用程序可以投入生产,并且在没有 eventlet 的情况下运行 flask-socketio 是缓慢而乏味的。我所做的是将我的应用程序分解为一个具有最低要求和代码的较小的烧瓶应用程序,以测试到底是什么错误(下面提供了该应用程序的链接)。如果您摆脱 eventlet 及其在 requirements.txt 中的依赖项,那么这个较小的应用程序可以在 aws 上运行,并且如果您将它们留在那里,它将中断。经过大量调试和测试,我仍然无法弄清楚错误的来源。任何帮助将不胜感激。
在 AWS 上,我收到以下通用服务器错误:
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。
请通过 root@localhost 联系服务器管理员,告知他们此错误发生的时间,以及您在此错误之前执行的操作。
服务器错误日志中可能会提供有关此错误的更多信息。
在 AWS eb 日志中,我看到以下内容:
[Fri Feb 16 17:45:47.269584 2018] [:error] [pid 4233] import re
[Fri Feb 16 17:45:47.269592 2018] [:error] [pid 4233] File "/opt/python/run/venv/lib64/python3.6/re.py", line 142, in <module>
[Fri Feb 16 17:45:47.269750 2018] [:error] [pid 4233] class RegexFlag(enum.IntFlag):
[Fri Feb 16 17:45:47.269762 2018] [:error] [pid 4233] AttributeError: module 'enum' has no attribute 'IntFlag'
[Fri Feb 16 17:45:48.274188 2018] [:error] [pid 4233] [remote 127.0.0.1:148] mod_wsgi (pid=4233): Target WSGI script '/opt/python/current/app/application.py' cannot be loaded as Python module.
[Fri Feb 16 17:45:48.274233 2018] [:error] [pid 4233] [remote 127.0.0.1:148] mod_wsgi (pid=4233): Exception occurred processing WSGI script '/opt/python/current/app/application.py'.
这是包含我的项目代码的 github 存储库:
https://github.com/Freddie-Pike/Flask-SocketIO-AWS
编辑:此设置适用于本地主机。它只是在 AWS 上不起作用。
【问题讨论】:
-
忽略错误,如果您正在尝试这样做,则不能将 websockets 与 Apache/mod_wsgi 一起使用。
-
我没有使用 Apache/mod_wsgi,我应该在帖子中指出(我现在将对其进行编辑),此设置适用于 localhost。
-
如果您没有使用 mod_wsgi,为什么它会在您包含的错误日志中显示 mod_wsgi 错误。
-
你是 100% 正确的格雷厄姆。尽管我自己没有安装 mod_wsgi,但我没有意识到弹性 beanstalk python 平台自己运行它。谢谢。来源:stackoverflow.com/questions/42636073/…
标签: python amazon-web-services flask flask-socketio eventlet