高可用HAProxy——yum安装部署配置使用
HAProxy介绍
HAProxy是高性能TCP(第四层)/HTTP(第七层)反向代理负载均衡服务器。(The Reliable, High Performance TCP/HTTP Load Balancer)
HAProxy安装部署
查看列表
$ yum list | grep haproxy
yum安装
$ yum -y install haproxy
查看详细信息
$ rpm -qi haproxy
查看帮助
[root@testHaproxy ~]# haproxy --help
HA-Proxy version 1.5.18 2016/05/10
Copyright 2000-2016 Willy Tarreau <willy@haproxy.org>Usage : haproxy [-f <cfgfile>]* [ -vdVD ] [ -n <maxconn> ] [ -N <maxpconn> ][ -p <pidfile> ] [ -m <max megs> ] [ -C <dir> ]-v displays version ; -vv shows known build options.-d enters debug mode ; -db only disables background mode.-dM[<byte>] poisons memory with <byte> (defaults to 0x50)-V enters verbose mode (disables quiet mode)-D goes daemon ; -C changes to <dir> before loading files.-q quiet mode : don't display messages-c check mode : only check config files and exit-n sets the maximum total # of connections (2000)-m limits the usable amount of memory (in MB)-N sets the default, per-proxy maximum # of connections (2000)-L set local peer name (default to hostname)-p writes pids of all children to this file-de disables epoll() usage even when available-dp disables poll() usage even when available-dS disables splice usage (broken on old kernels)-dG disables getaddrinfo() usage-dV disables SSL verify on servers side-sf/-st [pid ]* finishes/terminates old pids. Must be last arguments.
修改配置文件
$ vim /etc/haproxy/haproxy.cfg
指定配置文件
$ haproxy -f /etc/haproxy/haproxy.cfg -c
启动haproxy
$ service haproxy start
查看状态
$ service haproxy status
$ /bin/systemctl status haproxy.service
HAProxy配置文件
HAProxy配置文件主要由全局设定和代理设定两部分组成,包含5个域:global、default、frontend、backend、listen。
global
# 全局配置,定义haproxy进程的工作特性和全局配置
globallog 127.0.0.1 local2chroot /var/lib/haproxy #chroot运行的路径pidfile /var/run/haproxy.pid #haproxy pid的存放位置maxconn 65536 #最大连接数nbproc 10ulimit-n 200000 user haproxy #haproxy的运行用户 group haproxy #haproxy的运行用户的所属组daemon #守护进程的方式在后台工作# turn on stats unix socketstats socket /var/lib/haproxy/stats
全局配置,通常是一些进程级别的配置,与操作系统相关。
default
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaultsmode http #默认使用的七层协议,也可以是tcp四层协议,如果配置为health,则表示健康检查,返回oklog globaloption tcplog #详细记录tcp日志option redispatchoption dontlognull #不记录健康检查的日志信息option forwardfor retries 3 #重试次数为3次,失败3次以后则表示服务不可用timeout http-request 5s #http请求超时时间,客户端建立连接5s但不请求数据的时候,关闭客户端连接timeout queue 10s #等待最大时间,表示等待最大时长为10stimeout connect 10s #连接超时时间,表示客户端请求转发至服务器所等待的时长为10stimeout client 30m #客户端超时时间,表示客户端非活跃状态的时间为30mintimeout server 30m #服务器超时时间,表示客户端与服务器建立连接后,等待服务器的超时时间为30mintimeout http-keep-alive 10s #持久连接超时时间,表示保持连接的超时时长为10stimeout check 10s #心跳检测超时时间,表示健康状态监测时的超时时间为10s
默认参数配置,主要是涉及的公共配置,在defaults
中一次性添加。frontend
、backend
、listen
未配置时,都可以默认defaults
中的参数配置。若配置了,会覆盖。
frontend & backend
frontend testbind *:8082default_backend testoption httplogacl user-core path_beg /test/v1/user/use_backend user-core_server if user-core
# test
backend testmode httpbalance roundrobinserver node1 10.xxx.xxx.1:7000 check port 7000 inter 5000 rise 5 fall 5server node2 10.xxx.xxx.2:7000 check port 7000 inter 5000 rise 5 fall 5# user-core_server
backend user-core_servermode httpbalance roundrobinserver node1 10.xxx.xxx.1:7001 check port 7001 inter 5000 rise 5 fall 5server node2 10.xxx.xxx.2:7001 check port 7001 inter 5000 rise 5 fall 5 backupfrontend haproxy_statis_frontbind *:8081mode httpdefault_backend statis_haproxybackend statis_haproxymode httpbalance roundrobinstats uri /haproxy/statsstats auth haproxy:zkK_HH@zzstats refresh 30sstats show-nodestats show-legendsstats hide-version
frontend
可以看作是前端接收请求的部分,内部指定后端;
backend
可以看作是后端服务接收请求的部分;
frontend中acl规则详解
1)语法:acl 自定义的acl名称 acl方法 -i [匹配的路径或文件]
其中:
acl
:是一个关键字,表示定义ACL规则的开始,后面跟自定义acl名称;-i
:忽略大小写,后面跟匹配的路径或者文件的正则表达式;
2)语法:use_backend backend实例名称 if acl规则
use_backend
:后面跟backend实例名;if
:后面跟acl规则名称,表示如果满足acl规则,则请求backend实例;
3)示例:
acl user-core path_beg /test/v1/user/use_backend user-core_server if user-core
表示符合http://ip:port/test/v1/user会转发user-core_server实例服务;
listen
listen admin_statsbind *:8080 #监听端口mode httpoption httploglog globalstats enable #统计接口启用开关maxconn 10stats refresh 30s #页面刷新时长stats uri /haproxy?stats #haproxy ui访问后缀stats realm haproxy #认证时的realm,作为提示用的stats auth admin:admin #认证用户名和密码stats hide-version #隐藏HAProxy版本号stats admin if TRUE #管理界面只有认证通过后才能在ui上进行管理
listen
是`frontend和backend的组合,haproxy的监控ui可以通过这个进行配置。
haproxy页面
通过上述的listen
配置后,重启haproxy。
$ service haproxy restart
通过`http://ip:8080/haproxy?stats访问
输入认证信息:用户名:admin,密码:admin
高可用HAProxy——yum安装部署配置使用相关推荐
- hadoop之HDFS HA(高可用)架构安装部署
前言 再看本文章之前,请先确保已经看过CentOS下hadoop的分布式搭建和分布式协作服务框架Zookeeper安装部署两篇文章,因为本文章是建立在它们基础之上的. 一.HA相关介绍 1.为什么出现 ...
- 基于zookeeper(集群)+LevelDB的ActiveMq高可用集群安装、配置、测试
Linux 环境 zookeeper集群安装.配置.测试https://blog.csdn.net/weixin_40816738/article/details/100576259 MQ集群部署规划 ...
- 高可用网络架构的部署
2 案例2:部署LNMP动态网站 2.1 问题 部署LNMP动态网站,实现以下目标: 安装LNMP平台相关软件 配置Nginx实现动静分离 配置数据库,创建账户与密码 上线Wordpress代码 使用 ...
- k8s1.18多master节点高可用集群安装-超详细中文官方文档
kubernetes安装系列文章 kubernetes1.17.3安装-超详细的安装步骤 安装kubernetes1.17.3多master节点的高可用集群 k8s1.18单master节点高可用集群 ...
- Open-Falcon安装部署配置说明文档
@(架构师之路) Open-Falcon安装部署配置说明文档 欢迎关注作者简书 csdn传送门 文章目录 Open-Falcon安装部署配置说明文档 单机安装 环境准备 1. 环境准备 2. 从源码编 ...
- HBase 高可用集群整合 Phoenix 配置
HBase 高可用集群整合 Phoenix 配置 接上文:HBase 高可用集群配置 命令行参考:https://blog.csdn.net/ubuntu64fan/article/details/8 ...
- 记一次 Centos7 yum 安装、配置 PgAdmin4
一.基础信息说明 官网:https://www.pgadmin.org/ 下载:https://www.pgadmin.org/download/pgadmin-4-windows/ 阿里帮助文档:h ...
- mysql主从复制安装部署配置操作步骤及主从库宕机处理办法
mysql主从复制安装部署配置操作步骤及主从库宕机处理办法 大家好,我是酷酷的韩~ 1.前期准备 (1)首先需要准备至少两台mysql 这里方便演示,用了两台虚拟机 环境是centos7 主: 172 ...
- 基于keepalived实现haproxy高可用的双主模型配置
Keepalived会主动检测web服务器,把有故障的服务器从系统中剔除,在服务器修复以后会重新加入到服务器群众,不影响服务器的正常工作 VRRP:虚拟路由冗余协议 它把一个虚拟路由器的责任动 ...
最新文章
- 电信业务支撑报表开发工具解决方案
- ue4导入倾斜摄影_倾斜摄影入门必学|Context Capture建模软件工作流程
- 统一建模语言UML轻松入门系列
- 逻辑回归评分卡实现和评估
- camera 输入数据格式 lcd 显示原理
- LeetCode-Add Binary
- 高等数学下-赵立军-北京大学出版社-题解-练习12.2
- 美国 AI 博士爆料:掌握这9个要点,赚钱不再艰难
- 人生不值得,我在用python.1_关于python
- python 写一个计算器_Python | 写个计算器吧
- Uva 1471 Defense Lines(LIS变形)
- “华为杯”——中国研究生数学建模大赛相关解读及LaTeX模版、算法、真题、优秀论文等相关资源分享(超详细)
- 企信下载的文件在哪里_iTunes下载的固件在哪 iTunes固件下载地址【介绍】
- python最好用的助手_让Python爬虫变成你的好助手
- LD3320语音识别模块:LDV7模块使用详解
- 浙江污水处理厂数字孪生平台建模_三维激光扫描_吉优赛维三维可视化管理平台_三维建模_3D模型
- 【概率】COGS1487 麻球繁衍
- Android系统下 SD卡各文件夹
- 分布式事务操作之Spring+JTA
- 脑启发遥感解译:一个全面的调查
热门文章
- OpenCV:Mat数据类型/16to8bit/RECT/画线填充
- Git/Gitee创建仓库添加文件【1】
- AngularJS-模型和控制器
- mui案例:导航栏 颜色渐变
- centos mysql导出数据库命令_在centos(linux)下用命令导出mysql数据库数据
- 高精度矢量汉字的一种填充方法_惯导解算数学基础4(等效旋转矢量解,圆锥补偿解)...
- 运营级IOS一键签名程序源码 支持app超级签名一键分发平台
- python描述器 有限状态机_笨办法学 Python · 续 练习 30:有限状态机
- 苹果CMS10 资源网模板
- 小程序影视APP/追剧吧/脱离微擎/可用火车头采集小程序影视