【问题标题】:Configuring nginx web server with multiple app server of aws stack使用 aws stack 的多个应用服务器配置 nginx Web 服务器
【发布时间】:2012-09-03 07:28:46
【问题描述】:

我是一名 DevOps 人员,目前我在 ubuntu ec2 上运行我的 Ruby on Rails 应用程序,其中应用程序和 Web 服务器位于同一个盒子内,但我们使用的是 mysql RDS 集群。由于网站的流量增加,我可以看到很多峰值。所以我打算改变系统。我想将 Web 服务器 nginx 放在一个单独的实例中,并将 Web 应用程序放在一个单独的实例中。但这需要一个负载均衡器,它应该驻留在 nginx 盒子中,但是一旦流量上升,nginx 实例可以配置为自动扩展。应用服务器实例呢?它可以配置为自动扩展,但它需要将自身附加到 Web 服务器,并且 Web 服务器需要发现创建的新应用服务器。怎样才能做到这一点?请帮我完成这件事。

【问题讨论】:

    标签: nginx amazon-ec2 amazon-web-services webserver


    【解决方案1】:

    当您目前使用单个 Web 服务器时,过渡到使用 nginx 作为静态 Web 服务器和代理另一个实例上的另一个后端 Web 服务器确实很有意义,并且会给您带来性能提升。

    但是我不确定您是否真的需要自动缩放。如果您想对快速的流量峰值等做出反应,自动缩放最有意义。如果您的工作负载或多或少可能会随着时间的推移而增加,那么手动启动并在 nginx 配置中添加另一个后端服务器应该更容易。如果这对您不起作用,您仍然可以查看 Amazon's Elastic Loadbalancers 和之后的 Autoscaling。

    【讨论】:

    • 我有时会收到意外流量,因此 nginx 网络服务器实例将配置为自动缩放,因此它会置于 LB 之下。
    • 在这种情况下,我会在 nginx 后面添加一个 ELB。在 nginx 中,将所有后端流量定向到 ELB。在 ELB 后面,您可以让您的 Auto Scaling 组具有不同的应用服务器。它们可以在无需更改 nginx 配置的情况下进行扩展和缩减。
    • 我想你会想要 2 个 ELB。视交通而定。一个在 Web 服务器前面,一个在应用程序服务器前面。然后,您可以根据需要独立地自动缩放。
    猜你喜欢
    • 2019-03-15
    • 1970-01-01
    • 2013-02-12
    • 2018-12-31
    • 1970-01-01
    • 2017-05-12
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多