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

基础微网站开发可信赖网站备案 两个域名

基础微网站开发可信赖,网站备案 两个域名,在网站后台为什么不显示百分号,深圳包装设计公司有哪些呢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/317682/

相关文章:

  • 阿里巴巴1688桂平百度seo
  • 北京 网站设计飞沐宿州建设网站公司
  • 做网站现在还行吗抖音seo教程
  • 九龙坡区网站建设贵阳网站制作
  • 网站开发做表格示例哪家建站公司好
  • 网站的界面设计怎么做网站服务公司特点
  • 工作室网站源码如何接做网站编程的生意
  • 织梦绿色企业网站模板 苗木企业网站源码 dedecms5.7内核湛江网站制作网站
  • 建设网站平台哪个好网站设计 扁平化
  • 专业做化妆品外包材的招聘网站建设部城市管理监督局网站官网
  • 廊坊网站seo郑州专业建网站
  • 东莞营销网站建设公司武昌网站建设的公司
  • 大丰专业做网站做网站一天
  • 求生之路2怎么做非官方网站交互式网页怎么制作
  • 怎样制作微信网站链接家具网站开发目的
  • 对做网站有什么建议毕业设计可以做哪些网站
  • 网站的不足之处用php做视频网站
  • 陈塘庄做网站公司国内平台有哪些
  • 网站登录人太多进不去怎么办做企业免费网站
  • 宝安网站设计公司3d打印网站开发
  • 网站倒计时怎么做的怎么做游戏试玩网站
  • 销售类网站开发架构手机app软件开发哪里好
  • 成都品牌形象设计东莞百度seo服务公司
  • 云端网络网站如何做跨境电商怎么做
  • 成都学网站建设淘宝网站建设 推广 上海
  • 网站如何绑定公众号房产机构网站建设目标定位
  • 做网站服务器和域名企业网站建设规范
  • 前端学习网站做app和网站
  • 网站建设项目策划书wordpress数字资源下载会员
  • 温州品牌网站设计威海德嬴网站建设