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

大神能不能提供一下思路,比如我在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。

阅读 6.6k
2 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题