当前位置: 首页 > news >正文

微表单网站groupon wordpress theme

微表单网站,groupon wordpress theme,大型网页设计公司,wordpress自适应主题1 简介 1.1 Confd介绍 Confd是一个轻量级的配置管理工具。通过查询后端存储,结合配置模板引擎,保持本地配置最新,同时具备定期探测机制,配置变更自动reload。对应的后端存储可以是etcd,redis、zookeeper等。[1] 通过…

1 简介

1.1 Confd介绍

Confd是一个轻量级的配置管理工具。通过查询后端存储,结合配置模板引擎,保持本地配置最新,同时具备定期探测机制,配置变更自动reload。对应的后端存储可以是etcd,redis、zookeeper等。[1]

通过上面的介绍可以看出,通过confd修改配置的前提是,被修改配置的服务需要支持热加载配置,如nginx等。这样才能实现在配置变更时自动reload。

1.2 Conf的作用

随着上线的服务越来越多,配置文件和配置项越来越复杂,管理和变更维护配置文件逐渐成为一件麻烦的事情。

在这时候,就需要一套集中化的配置文件管理系统。一方面实现配置文件的统一管理,版本回溯,另一方面提供配置文件的批量自动下发,以及动态加载重启服务。confd+etcd可以作为解决上述问题的一种思路。

本文主要介绍如何使用etcd作为后端存储,通过confd动态修改nginx的配置文件。

2 安装Confd

官网下载confd并安装[2]

root@ceph-1:~# wget https://github.com/kelseyhightower/confd/releases/download/v0.16.0/confd-0.16.0-linux-amd64

创建confd目录,confd主要有两个核心的目录

  • conf.d:主要包含配置的生成逻辑,例如模板源,后端存储对应的keys,命令执行等。
  • templates:配置模板Template,即基于不同组件的配置,修改为符合 Golang text templates的模板文件。
root@ceph-1:~# mkdir -p /etc/confd/{conf.d,templates}

3 配置Confd

3.1 创建confd模板文件

下面介绍一下什么是confd的模板文件[3]

  • Template定义了单一应用配置的模板,默认存储在/etc/confd/templates目录下,模板文件符合Go的text/template格式。
  • 模板文件常用函数有base,get,gets,lsdir,json等。

下面例子的逻辑是定义一个名为nginx.tmpl的模板文件。使用getv获取root_dir这个变量的值,来动态更新nginx的root文件目录,如果root_dir这个key不存在,则默认值为/usr/share/nginx/html。root_dir变量我们在后面定义。

root@ceph-1:~# cat /etc/confd/templates/nginx.tmpl

3.2 创建confd配置文件

配置文件是TOML格式的文件,主要包含配置的生成逻辑,例如模板源,后端存储对应的keys,命令执行等。默认目录在/etc/confd/conf.d。[3]

必要参数包括

  • dest:目标文件(字符串类型)
  • keys :键数组(字符串数组)
  • src :配置模板的相对路径(字符串)

可选参数包括

  • gid:应该拥有该文件的gid。默认为有效的gid(整数)
  • mode:文件的权限模式(字符串)
  • uid:应该拥有该文件的uid。默认为有效的uid(整数)
  • reload_cmd:重新加载配置的命令(字符串)
  • check_cmd:检查配置的命令(字符串)
  • prefix:键前缀的字符串(字符串)
root@ceph-1:~# cat /etc/confd/conf.d/myapp-nginx.toml

3.3 etcd中创建好变量相关的键值对

因为我们是使用的etcd作为confd的后端存储,因此要先在etcd中定义好先前模板文件中的变量的键值对。

root@ceph-1:~# etcdctl put /nginx/root_dir '/usr/share/nginx/v1' --endpoints=192.168.85.130:2379

3.4 启动confd

配置使用systemd管理confd并启动confd

root@ceph-1:~# cat /etc/confd/confd.toml  ##创建配置文件,指定后端存储为etcd

4 热更新nginx配置文件实验

4.1 为nginx创建两个版本的index页面

创建v1、v2两个目录,分别用来存放不同的两个nginx配置文件

root@ceph-1:~# mkdir /usr/share/nginx/{v1,v2}

新建两个index文件

root@ceph-4:~# cat /usr/share/nginx/v1/index.html

4.2 访问nginx

root@ceph-4:~# curl 127.0.0.1  ##可以看到能正常访问到v1下面的index文件

4.3 更新etcd中的/nginx/root_dir值

将/nginx/root_dir的值更新为/usr/share/nginx/v2

root@ceph-1:~# etcdctl put /nginx/root_dir '/usr/share/nginx/v2' --endpoints=192.168.85.130:2379

查看confd的日志,可以观察到有配置文件更新的动作

root@ceph-1:~# journalctl -u confd

检查nginx配置是否已更新

root@ceph-1:~# cat /etc/nginx/conf.d/myapp.conf

5 参考资料

  • [1] http://www.confd.io/
  • [2] https://github.com/kelseyhightower/confd/blob/master/docs/installation.md#linux
  • [3] https://github.com/kelseyhightower/confd/blob/master/docs/templates.md

关注公众号 singless,获取更多有价值的文章

你可能还喜欢

如何在prometheus产生告警时自动执行某个脚本文件

如何编译打包OpenSSH 9.4并实现批量升级

K8S使用开源CEPH作为后端StorageClass

Nginx安全加固,版本隐藏及HTTP请求头修改方法

http://www.yayakq.cn/news/165848/

相关文章:

  • 产品毕业设计代做网站广州小型企业网站建设
  • 网站 后台制作网站图片
  • 加强两微一端和门户网站建设网址查询入口
  • ssc网站开发国外做二手工业设备的网站
  • 素材网站模板做网站公司宁波
  • 软件外包产业网站搜索优化
  • 俄语网站推广通专业沈阳网站建设
  • 企业网站的优劣势wordpress 关键字
  • 网站 建设 外包上海企业优化
  • 手机网站跟PC端网站有啥区别赣州网站建设jx25
  • 甘肃金顶建设公司网站wordpress页面相册
  • 手机网站整站源码手机net网站开发
  • 网站开发需要用哪些东西本地网站建设的步骤过程
  • 桐乡网站开发注册号域名后 怎么建设网站
  • 东莞建设网站推广公司地址网站开发大赛发言稿
  • 下载了一个asp网站但不知道管理员密码怎么办wordpress主题vantage
  • 简洁高端网站模板psd跨境电商单页网站的详情页怎么做的
  • 帮别人做网站被抓gta5买房网站建设中
  • 网站建设与维护一年多少钱百度推广登录平台
  • 商丘网站建设设计台州国强建设网站
  • 网站推广的名词解释怎样做关键词网站
  • 国家住房城乡建设厅网站重庆seo推广外包
  • 什么直播可以做游戏视频网站东莞市住建局官网
  • 搜索引擎不友好的网站特征ps网页设计效果图
  • 网站形式的设计电商网站建设信息
  • 深圳网站建设服务比较便宜网站建设 小程序开发 营销推广
  • 如何建设线报网站网络技术开发包括哪些内容
  • 建设干部学校网站首页香洲区建设局网站
  • 临沂苍山网站建设做废钢那个网站好
  • 有哪些好的网页设计优化一个网站多少钱