ngx_lua是淘宝的维护的产品,真心不错。配置文件包含可以做很多事情的lua脚本。
公司有个产品对注册的广告盒子进行反向代理,这样可以在盒子上做很多事情:和服务器通信,远程控制盒子等等。nginx反向代理这些盒子,都是在nginx的配置文件里边配置的。这个配置是要用程序进行生成。越来越多的程序没办法安置了,越来越多。终于在配置文件超过了260多个的时候,出现了超出了bucket。。。。这又要修改其他的配置文件。这没个头了。。。
推荐使用配置嵌入lua脚本,有什么好处呢?反向代理内容可以放在redis里边,通过lua访问redis,通过以host为key的get方式,获取实际的IP,对盒子进行方向代理。这样nginx的反向代理的bucket是实时,即时生成的,不会有超出bucket的问题。
这样对生成配置文件的程序来说,这个更好了。读写redis,可是比分析文件可简单多了。
问题少了很多,也容易维护了,心情也好多了。