![是否有一个 nginx 配置的编程接口?](https://linux22.com/image/569023/%E6%98%AF%E5%90%A6%E6%9C%89%E4%B8%80%E4%B8%AA%20nginx%20%E9%85%8D%E7%BD%AE%E7%9A%84%E7%BC%96%E7%A8%8B%E6%8E%A5%E5%8F%A3%EF%BC%9F.png)
我使用 nginx 作为 Web 服务器实例前的负载均衡器。我运行 4 个 Web 服务器实例,并使用 nginx 在它们之间平均分配流量。当我部署新版本时 - 我更改 nginx.conf 并将 4 个服务器中的前 2 个标记为关闭,然后重新启动 nginx。我更新服务器代码并重新启动前 2 个服务器。然后我编辑 nginx.conf 以指示前 2 个服务器已启动并将其他 2 个标记为关闭,再次重新启动 nginx。然后我更新并重新启动其他两个实例。再次更新 nginx.conf 将所有服务器标记为启动并最终重新启动 nginx。
有时候我必须多次执行此过程。每次手动执行上述步骤很容易出错。
是否可以通过编程方式访问 nginx/nginx.conf,以便我可以自动执行此过程?
[我现在能想到的唯一方法就是在 shell 脚本中写下上述步骤]
答案1
不,nginx 没有配置 API。
虽然在某些情况下您可能需要手动将服务器标记为关闭,但通常配置 proxy_next_upstream + fail_timeout 即可。
答案2
现在nginx 配置,一个提供以编程方式访问 nginx 配置的 NPM 模块。