【问题标题】:nginx.conf file not getting updated with the latest service info using the consul for service discoverynginx.conf 文件未使用 consul 更新服务发现的最新服务信息
【发布时间】:2020-07-30 01:50:33
【问题描述】:

全部,

我们有一个基础设施,其中有 1 个 consul 服务器、2 个 ngnix Web 服务器和 2 个应用程序服务器。应用服务器连接到 consul 以注册服务。 Ngnix 服务器将连接到 consul 并使用 nginx.ctmpl (consultemplate config) 文件更新 ngix.conf 文件,以通过 consul 获得有关服务的最新信息。

我看到的问题是 nginx.conf 没有在 2 个 nginx 服务器上更新。以下是在每台服务器上运行的代理/服务: 领事服务器:

  • 领事
  • 咨询

Ngix 服务器:

  • nginx
  • 咨询

应用服务器:

  • 领事

这里有几个问题:

  1. Nginx 上的哪个代理/进程/服务将使用 nginx.cmptl 文件 用最新状态更新 nginx.conf?
  2. 我的 nginx 服务器有什么问题?

【问题讨论】:

    标签: nginx consul service-discovery consul-template


    【解决方案1】:

    Nginx 不直接使用该模板。 consul-template 应该配置为使用 nginx.cmptl 模板化配置,并重新加载 nginx。

    有关此配置的示例,请参阅 Load Balancing with NGINX and Consul Template

    您能否验证 consul-template 服务是否正在运行,并可能提供它可能生成的任何错误日志?

    【讨论】:

      【解决方案2】:

      问题解决了。我重命名了 Nginx 服务器中 Consul 的数据目录并运行了 chef-client。我重新创建了数据目录,Consul 服务器能够识别两个 Nginx 服务器和两个应用程序服务器。一切都恢复了工作状态。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-16
        • 2020-08-16
        • 2010-11-19
        • 1970-01-01
        • 2018-03-07
        • 2012-09-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多