0

全部,

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

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

  • 领事
  • 咨询模板

Ngix 服务器:

  • nginx
  • 咨询模板

应用服务器:

  • 领事

这里有几个问题:

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

2 回答 2

0

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

于 2020-05-15T01:05:57.993 回答
0

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

有关此配置的示例,请参阅使用 NGINX 和 Consul 模板进行负载平衡。

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

于 2020-04-28T21:48:16.927 回答