多个服务器上通用的NGINXconfigurationscheme

我的设置由多个服务器组成,包括生产,生产故障切换,开发人员实例等。生产和生产故障切换服务器定期交换angular色。 我希望所有的服务器都有一致的环境。 我通过使用虚拟主机在Apache中实现了这一点,并根据需要启用/禁用它们。

我碰到的一个问题是,NGINX主configuration文件具有调整到服务器硬件的设置,尤其是events上下文。 我目前倾向于为每个服务器创build一个events-[subdomain].conf文件,并创build一个名为events.conf的符号链接。 我只能通过改变符号链接来使用适当的文件。

 events { include events.conf; } 

这是处理这个问题的好方法吗? 缺点? 更好的scheme?

简单的回答:是的,但可能有一个稍微好一些的方法。

较长的答案:在Nginx中,每个服务器或网站通常在外部文件中定义,通常在nginxconfiguration目录的“enabled-sites”或“sites-enabled”子目录中 – 我将它改为“mine-enabled”与标签完成更快。 主要的Nginxconfiguration文件通常包含这个目录中的所有内容。

您可以将所有服务器的所有configuration文件放入此子目录中,并同步该目录,或引用共享位置中的目录。 每个服务器的nginx.conf可能只包含该服务器当时所需的文件。 这将是相当迅速改变。

但是,自动化是好的。 如果您可以定义您的configuration文件,使其可以在该angular色的所有服务器上工作,则可以避免手动更改,并且在负载均衡器后面可能会更好。 nginx.conf可能不同,但服务器configuration相同。 这应该很容易。