nginx-http-controller-module
322 次浏览
更新于 2020-11-01 18:50

授权协议:Apache License 2.0
原作者联系方式:hongzhidao@gmail.com
功能说明:Nginx 动态配置模块。可以通过restful json api对nginx进行配置
  • 内容介绍

功能简介

dynamically config

configuration updates dynamically via a RESTful JSON API.

  • variables.
  • add_headers.
  • upstream zone.
  • blacklist and whitelist.
  • limit_conn, limit_req and limit_rate.
  • return location and text.

statistics

display stub and http status with json format.

指令:

ctrl_zone

syntax: ctrl_zone zone=NAME:SIZE

context: http

Creates a shared zone NAME with the SIZE for storing statistics data.

ctrl

syntax: ctrl on|off

default: ctrl off

context: http,server,location

ctrl_config

syntax: ctrl_config

context: location

ctrl_stats

syntax: ctrl_stats on|off

default: ctrl_stats off

context: http,server,location

ctrl_stats_display

syntax: ctrl_stats_display

context: location

配置:

nginx.conf

    events {}

    http {
        ctrl_zone  zone=stats:10M;

        server {
            listen  80;

            location / {
                ctrl        on;
                ctrl_stats  on;
            }
        }

        server {
            listen  8000;

            location /config {
                ctrl_config;
            }

            location /stats {
                ctrl_stats_display;
            }
        }
    }

update config

curl -X PUT -d@conf.json http://127.0.0.1:8000/config
{
    "upstreams": {
        "one": [
            {
                "address": "127.0.0.1:8081",
                "weight": 1
            },
            {
                "address": "127.0.0.1:8082",
                "weight": 1,
                "down": false
            }
        ],

        "two": [
            {
                "address": "127.0.0.1:8081",
                "weight": 3
            },
            {
                "address": "127.0.0.1:8082",
                "weight": 3
            }
        ]
    },

    "routes": [
        {
            "action": {
                "return": 200,
                "text": "hello"
            }
        }
    ]
}
curl http://127.0.0.1:80
hello

display all stats

curl http://127.0.0.1:8000/stats/
{
    "stub": {
        "active": 2,
        "accepted": 4,
        "handled": 4,
        "requests": 37,
        "reading": 0,
        "writing": 1,
        "waiting": 1
    },

    "status": {
        "n1xx": 0,
        "n2xx": 36,
        "n3xx": 0,
        "n4xx": 0,
        "n5xx": 0,
        "total": 36
    }
}

display stats stub

curl http://127.0.0.1:8000/stats/stub
{
    "active": 2,
    "accepted": 5,
    "handled": 5,
    "requests": 77,
    "reading": 0,
    "writing": 1,
    "waiting": 1
}

display stats status

curl http://127.0.0.1:8000/stats/status
{
    "n1xx": 0,
    "n2xx": 91,
    "n3xx": 0,
    "n4xx": 0,
    "n5xx": 0,
    "total": 91
}


发表评论
提交者

皮皮鲁

暂无个人介绍

  • 26

    文章

  • 19

    关注

  • 20

    粉丝

版权所有©F5 Networks,Inc.保留所有权利。京ICP备16013763号-5