除了正常的ngnix.conf文件之外,我有什么办法可以配置ngnix吗?
像xml配置或memcache或任何其他方式..?
我的目标是动态地向配置添加/删除上游。 Ngnix似乎没有直接的解决方案,因此我打算使用配置文件,但我发现很难通过脚本/程序修改文件。
有什么建议吗?
答案 0 :(得分:1)
没有。你不能。 “动态”重新配置nginx的唯一方法是处理外部软件中的配置文件,然后重新加载服务器。你也不能像Apache一样“编程”配置。 nginx配置主要是一个静态的东西,因其性能而受到称赞。
资料来源:我也需要它,做了一些研究。
编辑:我的主机上安装了一个“监督”工具,用于监控负载和集群等。我最终实现了通过它扩展的上游。每当新的上游准备就绪时,它就会通知我所有网络服务器上的“主管”。然后,“主管”在新上游查询服务的“虚拟主机”,并将它们全部添加到nginx主机上的上下文中。然后它只是nginx -t && nginx -s reload
一切。这是为了nginx fastcgiing到php-fpms。
Edit2:我有许多server
块用于不同的server_names(站点),每个块都有一个上游与其他主机相关联。在服务器块中,我有include /path/to/where/my/upstream/configs/are/us-<unique_site_id>.conf
行。创建us-<unique_site_id>.conf
块并使用现有上游信息填充时生成server
。当上游池或站点配置发生更改时,将重写该文件以反映它。