lua-upstream-nginx-module Nginx C 模块开源项目

我要开发同款
匿名用户2016年01月21日
90阅读
开发技术C/C++
所属分类Nginx扩展模块、服务器软件
授权协议BSD

作品详情

这个软件是NginxC模块用于展示LuaAPI给ngx_luaforNginxupstreams。该模块可以用于生产环境。

 

Synopsishttp {    upstream foo.com {        server 127.0.0.1 fail_timeout=53 weight=4 max_fails=100;        server agentzh.org:81;    }    upstream bar {        server 127.0.0.2;    }    server {        listen 8080;        # sample output for the following /upstream interface:        # upstream foo.com:        #     addr = 127.0.0.1:80, weight = 4, fail_timeout = 53, max_fails = 100        #     addr = 106.187.41.147:81, weight = 1, fail_timeout = 10, max_fails = 1        # upstream bar:        #     addr = 127.0.0.2:80, weight = 1, fail_timeout = 10, max_fails = 1        location = /upstreams {            default_type text/plain;            content_by_lua '                local concat = table.concat                local upstream = require "ngx.upstream"                local get_servers = upstream.get_servers                local get_upstreams = upstream.get_upstreams                local us = get_upstreams()                for _, u in ipairs(us) do                    ngx.say("upstream ", u, ":")                    local srvs, err = get_servers(u)                    if not srvs then                        ngx.say("failed to get servers in upstream ", u)                    else                        for _, srv in ipairs(srvs) do                            local first = true                            for k, v in pairs(srv) do                                if first then                                    first = false                                    ngx.print("    ")                                else                                    ngx.print(", ")                                end                                if type(v) == "table" then                                    ngx.print(k, " = {", concat(v, ", "), "}")                                else                                    ngx.print(k, " = ", v)                                end                            end                            ngx.print("\\n")                        end                    end                end            ';        }    }}

 

 

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论