zoukankan      html  css  js  c++  java
  • Confd生成nginx配置示例

    Confd生成nginx配置示例

    官方网站:


    环境:
    CentOS7.2
    go-1.7


    编译安装
    1.go(>=1.6)环境
    2.下载并安装 
    $ mkdir -p $GOPATH/src/github.com/kelseyhightower 
    
    $ git clone https://github.com/kelseyhightower/confd.git $GOPATH/src/github.com/kelseyhightower/confd 
    
    $ cd $GOPATH/src/github.com/kelseyhightower/confd 
    
    $ ./build
    

     二进制包
    chmod +x /usr/local/sbin/confd


    管理nginx配置
    1.挑选后端
    以consol为例
    curl -X PUT -d 'myapp' http://localhost:8500/v1/kv/myapp/subdomain
    curl -X PUT -d '10.0.1.100:80' http://localhost:8500/v1/kv/myapp/upstream/app1
    curl -X PUT -d '10.0.1.101:80' http://localhost:8500/v1/kv/myapp/upstream/app2
    curl -X PUT -d 'yourapp' http://localhost:8500/v1/kv/yourapp/subdomain
    curl -X PUT -d '10.0.1.102:80' http://localhost:8500/v1/kv/yourapp/upstream/app1
    curl -X PUT -d '10.0.1.103:80' http://localhost:8500/v1/kv/yourapp/upstream/app2
    2.创建confdir
    mkdir -p /etc/confd/{conf.d,templates}
    3.创建模板配置文件
    cat >/etc/confd/conf.d/myapp-nginx.toml <<EOF
    [template]
    prefix = "/myapp"
    src = "nginx.tmpl"
    dest = "/tmp/myapp.conf"
    owner = "nginx"
    mode = "0644"
    keys = [
      "/subdomain",
      "/upstream",
    ]
    EOF
    cat >/etc/confd/conf.d/yourapp-nginx.toml <<EOF
    [template]
    prefix = "/yourapp"
    src = "nginx.tmpl"
    dest = "/tmp/yourapp.conf"
    owner = "nginx"
    mode = "0644"
    keys = [
      "/subdomain",
      "/upstream",
    ]
    EOF
    4.创建模板
    cat >/etc/confd/templates/nginx.tmpl <<'EOF'
    upstream {{getv "/subdomain"}} {
    {{range getvs "/upstream/*"}}
        server {{.}};
    {{end}}
    }

    server {
        server_name  {{getv "/subdomain"}}.example.com;
        location / {
            proxy_pass        http://{{getv "/subdomain"}};
            proxy_redirect    off;
            proxy_set_header  Host             $host;
            proxy_set_header  X-Real-IP        $remote_addr;
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
       }
    }
    EOF
    5.生成模板
    confd -onetime -backend consul -node 127.0.0.1:8500
    Confd生成nginx配置示例


  • 相关阅读:
    1组Alpha冲刺总结
    1组Beta冲刺4/5
    1组Beta冲刺5/5
    1组Alpha冲刺4/6
    1组Alpha冲刺总结
    1组Beta冲刺2/5
    1组Beta冲刺3/5
    1组Beta冲刺2/5
    1组Alpha冲刺4/6
    1组Alpha冲刺5/6
  • 原文地址:https://www.cnblogs.com/lixuebin/p/10814007.html
Copyright © 2011-2022 走看看