openresty - 利用lua-nginx-module修改upstream中内容并重新reload

【字号: 日期:2022-07-24浏览:26作者:雯心

问题描述

大神能不能提供一下思路,比如我在nginx.conf中有如下upstream块:

upstream value{ server 127.0.0.1:1234; server 127.0.0.1:5678;}

nginx向外提供接口,比如是127.0.0.1/change,可以清空以上upstream中的内容,并重新从redis中加载所有后端服务器信息并写入到nginx.conf文件中的如上upstream中,最后执行./nginx -s reload。

问题解答

回答1:

查看lua有没有file模块,能对文件操作,还要看看lua能不能调用shell或者类似nginx 信号来重载nginx配置文件。

回答2:

感觉你是想实现类似动态负载的功能么,如果是的话,我感觉你可以使用openresty的 ngx.balancer来解决。这样无需重启nginx,便可以动态的更改后端服务器了。

相关文章: