登录

openresty - 利用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。

# Linux
阿神 阿神 2509 天前 553 次浏览

全部回复(2) 我要回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 17:12:36

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

    回复
    0
  • 漂亮男人

    漂亮男人2017-05-16 17:12:36

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

    回复
    0
  • 取消 回复 发送