lCentos7.2 安装confd

1.安装go

 # cd /opt/soft

   # wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz

 # tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz

   # vim  /etc/profile

在文件的最后面添加如下  

  GOPATH=/usr/local/go
  ETCDPATH=/usr/local/go/src/github.com/kelseyhightower/confd
  PATH=$PATH:$ETCDPATH/bin:$GOPATH/bin

 

  # source /etc/profile

 

2. 安装confd

$ 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


3.使用confd
参考 https://github.com/kelseyhightower/confd/blob/master/docs/quick-start-guide.md
sudo mkdir -p /etc/confd/{conf.d,templates}

vim /etc/confd/conf.d/myconfig.toml
[template]
prefix = "/myapp"
src = "nginx.tmpl"
dest = "/tmp/myapp.conf"
owner = "nginx"
mode = "0644"
keys = [
  "/subdomain",
  "/upstream",
]
check_cmd = "/[nginx 安装 目录]/sbin/nginx -t -c {{.src}}"
reload_cmd = "systemctl reload nginx"


vim /etc/confd/templates/myconfig.conf.tmpl
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;
   }
}
 



posted @ 2017-08-29 13:09  瓦肯船长  阅读(570)  评论(0)    收藏  举报