我将nginx用作Web服务器实例前面的负载平衡器。我运行Web服务器的4个实例,并使用nginx在它们之间平均分配流量。部署新版本时-更改nginx.conf并将4台服务器中的前2台标记为关闭,然后重新启动nginx。我更新服务器代码并重新启动前2台服务器。然后,我编辑nginx.conf以指示前2台服务器已启动,并将其他2台服务器标记为关闭,再次重新启动nginx。然后,我更新并重新启动其他两个实例。再次更新nginx.conf,将所有服务器标记为已启动,并最终重新启动nginx。
在某些日子里,我必须多次执行此过程。每次手动执行上述步骤都容易出错。
是否可以通过编程方式访问nginx / nginx.conf,以便使该过程自动化?
[我现在想象的唯一方法是在shell脚本中编写以上步骤]
fail_timeout
在您的每个后端上将其设置为5s,将其中的两个断开,NGINX将接起并将所有流量重定向到后两个节点。更新代码,等待5秒钟(或任何超时值),NGINX将开始使用前两个服务器,然后关闭后两个服务器并重复执行。NGINX在这种设置中表现非常好