Nginx配置有编程接口吗?


8

我将nginx用作Web服务器实例前面的负载平衡器。我运行Web服务器的4个实例,并使用nginx在它们之间平均分配流量。部署新版本时-更改nginx.conf并将4台服务器中的前2台标记为关闭,然后重新启动nginx。我更新服务器代码并重新启动前2台服务器。然后,我编辑nginx.conf以指示前2台服务器已启动,并将其他2台服务器标记为关闭,再次重新启动nginx。然后,我更新并重新启动其他两个实例。再次更新nginx.conf,将所有服务器标记为已启动,并最终重新启动nginx。

在某些日子里,我必须多次执行此过程。每次手动执行上述步骤都容易出错。

是否可以通过编程方式访问nginx / nginx.conf,以便使该过程自动化?

[我现在想象的唯一方法是在shell脚本中编写以上步骤]


3
你在做什么似乎很奇怪。fail_timeout在您的每个后端上将其设置为5s,将其中的两个断开,NGINX将接起并将所有流量重定向到后两个节点。更新代码,等待5秒钟(或任何超时值),NGINX将开始使用前两个服务器,然后关闭后两个服务器并重复执行。NGINX在这种设置中表现非常好
涂抹

Answers:


3

否,nginx没有配置API。

尽管在某些情况下可能需要手动将服务器标记为已关闭,但是通常可以配置proxy_next_upstream + fail_timeout。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.