【问题标题】:Running flask server on AWS EC2 with only gunicorn but no nginx在 AWS EC2 上运行烧瓶服务器,只有 gunicorn 但没有 nginx
【发布时间】:2019-10-05 06:44:38
【问题描述】:

我在 AWS EC2 实例上部署了一个简单的 flask 应用程序。 flask 应用程序接受传入的 HTTP 请求,然后对请求进行一些(可能是繁重而冗长的)计算,然后返回结果。

根据我有限的理解,建议始终使用nginx + gunicorn 堆栈来实现真正的flask 应用程序。当我试图保持简单的一面时,我只使用了 gunicorn 和 8 个工人。该应用程序运行良好,因为我可以查询 EC2 实例,并得到预期的结果。该应用程序没有(或很少)静态内容。

至于流量,我预计不会有很多并发请求到该站点(可能同时有大约 10 个请求),因为它是供内部使用的。我的问题是,鉴于我的用例,这(不是nginx)会在不久的将来伤害我吗?

【问题讨论】:

    标签: nginx flask amazon-ec2 gunicorn


    【解决方案1】:

    您是否使用 Elastic Beanstalk 或 EC2 进行了部署?

    如果是后者,我建议此应用使用 Elastic Beanstalk,因为它会为您处理大量配置。

    来自 AWS: Elastic Beanstalk 使用 nginx 作为反向代理将您的应用程序映射到端口 80 上的负载均衡器。如果您想提供自己的 nginx 配置,可以通过包含 .ebextensions/nginx 来覆盖 Elastic Beanstalk 提供的默认配置/nginx.conf 文件在你的源包中。如果此文件存在,Elastic Beanstalk 将使用它来代替默认的 nginx 配置文件。

    否则,在这个阶段没有 NGINX 不会影响您的应用程序性能,但是由于它不是最佳实践/未来证明,因此包含它没有任何害处。那里有很多内容,描述了如何做到这一点。

    干杯!

    【讨论】:

    • 谢谢哈利!我只使用 EC2 的准系统版本,没有 Elastic Beanstalk——我会研究一下。因为现在看来唯一的gunicorn 框架已经达到了它的目的,所以我稍后会研究nginx...
    猜你喜欢
    • 1970-01-01
    • 2017-06-06
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 2022-01-19
    • 2016-08-30
    • 2023-04-09
    相关资源
    最近更新 更多