我在 Web 服务器实例前使用 nginx 作为负载平衡器。我运行了 4 个 Web 服务器实例,并使用 nginx 在它们之间平均分配流量。当我部署新版本时 - 我更改了 nginx.conf 并将 4 个服务器中的前 2 个标记为关闭,然后重新启动 nginx。我更新了服务器代码并重新启动了前 2 个服务器。然后我编辑 nginx.conf 以指示前 2 个服务器已启动并将其他 2 个服务器标记为关闭,再次重新启动 nginx。然后我更新并重新启动其他两个实例。再次更新 nginx.conf 标记所有服务器并最终重启 nginx。
我必须在某些日子多次执行此过程。每次都手动执行上述步骤很容易出错。
是否有对 nginx/nginx.conf 的编程访问,以便我可以自动执行此过程?
[我现在想到的唯一方法是在shell脚本中编写上述步骤]
不,nginx 没有配置 API。
尽管在某些情况下您可能需要手动将服务器标记为关闭,但通常配置 proxy_next_upstream +fail_timeout 就可以了。