在仅带有gunicorn但没有nginx的AWS EC2上运行flask服务器

时间:2019-05-17 23:43:06

标签: nginx flask amazon-ec2 gunicorn

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

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

对于流量,我不会期望对该站点有太多同时请求(可能同时〜10个请求),因为它是供内部使用的。我的问题是,鉴于我的用例,这(无nginx)会在不久的将来伤害我吗?

1 个答案:

答案 0 :(得分:1)

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

如果稍后,我建议使用Elastic Beanstalk的此应用程序,因为它可以为您处理很多配置。

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

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

干杯!