Haproxy安装部署文档及多配置文件管理方案

最近我在负责一个统一接入层的建设项目,涉及到Haproxy和ospf的运维部署,本文分享一下我在部署Haproxy之后整理的运维部署规范,并实现了Haproxy的多配置文件管理方案Haproxy安装部署文档及多配置文件管理方案

一、部署安装

1、下载源码包

最新stable版本下载地址:http://www.haproxy.org/download/1.7/src/haproxy-1.7.9.tar.gz

2、编译安装

3、创建目录

二、软件配置

熟悉Nginx和Apache的朋友都知道,这两个Webservice都支持include加载多个配置文件的语法,但是Haproxy并不支持!如果现网映射规则非常多,那么haproxy.cfg这个配置文件就跟臭袜子一样,又臭又长!

因此,我也是翻遍了国外的各种论坛帖子,终于发现一种变相实现Haproxy多配置文件的方案。其实,Hparoxy是支持多配置文件的,但是不是include语法,而是在启动的时候多次使用-f 拼接配置文件,比如:

因此,我们可以在配置文件目录以及启动脚本上做点改变,让Haproxy支持多配置文件。

1、路径约定:

  • 待上线的 tcp 映射规则存放目录:/usr/local/haproxy/conf/ready/tcp
  • 待上线的 http 映射规则存放目录:/usr/local/haproxy/conf/ready/http
  • 已上线的 tcp 映射规则存放目录:/usr/local/haproxy/conf/enabled/tcp
  • 已上线的 http 映射规则存放目录:/usr/local/haproxy/conf/enabled/http
  • Ps:本文为多配置模式,enabled 里面的配置为软链接形式,软链接至ready对应配置文件,方便管理。

2、配置模板

①、主配置:haproxy.cfg

②、http 扩展配置文件模板

③、tcp 扩展配置文件模板

三、系统服务

1、服务脚本

对比已有的Haproxy脚本,我编写的时候新增了如下实用功能:

  • 支持配置文件语法测试
  • 支持进程的监控(自拉起)功能
  • 重启之前会先检测配置语法,规避因配置错误导致重启后进程挂掉
  • 支持多配置文件模式(按照前文约定目录存放拓展配置,脚本将自动识别)

下面是服务脚本代码:

保存为 /usr/local/haproxy/sbin/ctrl.sh,赋可执行权限,如下注册系统服务:

服务控制:

2、配置自拉起

全部完成后,最终目录结构如下:

四、日志配置

配置rsyslog

五、小结

以上内容就是我对Haproxy部署规范的整理,并通过拼接方式变相实现了Haproxy的多配置文件管理。当然,略遗憾的是未能实现Haproxy的WEB管理方案,这个有待继续研究实现,敬请期待!

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:4   其中:访客  4   博主  0

  1. 济南SEO 1 来自天朝的朋友 谷歌浏览器 Windows 7 河北省衡水市 电信

    谢谢博主分享,学习到了

  2. 技术宅 4 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省南京市 电信

    张大官人,最近忙啥捏,好久没有来本店坐坐了! :lol:

  3. RaresNote 1 来自天朝的朋友 谷歌浏览器 Windows 7 福建省福州市 联通

    今日终于赶上更新了,输入的时候一震一震的,我还以为是地震了呢。

  4. 筑楼 3 来自天朝的朋友 谷歌浏览器 Windows 7 河南省 移动

    看的不是很明白!有点笨

加载中,请稍候...