全网最详细haproxy配置
创始人
2024-09-26 18:57:31
0

Haproxy是法国人Willy Tarreau开发的一款高性能的TCP和HTTP负载均衡器,具有广泛的功能和特性,使其在负载均衡和反向代理领域备受推崇。以下是对Haproxy的详细介绍:

一、基本概述

定义:Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件,能够处理大量并发连接,提供高可用性和负载均衡功能。

功能:支持双机热备、虚拟主机、基于TCP和HTTP应用代理等功能,同时内置了监控和统计功能,可以实时获取服务器的状态和性能指标。

应用场景:特别适用于负载特大的web站点,这些站点通常又需要会话保持或七层处理。

二、核心特性

高性能:

使用异步事件驱动的架构,能够处理非常高的并发连接数,支持数以万计的并发连接。

较低的延迟和高吞吐量,使得Haproxy在处理大规模网络请求时表现优异。

高可靠性:

提供无单点故障的服务,确保服务的高可用性。

能够对后端服务器进行健康检查,及时发现并排除出故障的服务器。

负载均衡:

可以将流量均匀地分配到后端服务器上,提高系统的性能和可扩展性。

支持多种负载均衡算法,如轮询(roundrobin)、最少连接数(leastconn)等,可以根据实际需求选择合适的算法。

会话保持:

支持多种会话保持机制,如基于客户端IP的Hash计算、基于cookie的会话保持等,确保用户请求能够被转发到正确的后端服务器上。

SSL终结和加速:

可以在前端进行SSL终结,解密和加密SSL/TLS流量,从而减轻后端服务器的负担并提升性能。

可定制性:

提供了丰富的配置选项和灵活的扩展机制,使得用户可以根据实际需求进行定制化配置和扩展。

支持多种协议:

支持HTTP、HTTPS、TCP、SMTP等多种协议,可以满足不同场景下的需求。

三、工作模式

Haproxy的工作模式一般有两种:TCP模式和HTTP模式。

TCP模式:实例运行于TCP模式,在客户端和服务器端之间将建立一个全双工的连接,且不会对7层报文做任何类型的检查,只能以简单模式工作。通常为SSL、SSH、SMTP等应用使用。

HTTP模式:实例运行于HTTP模式,客户端请求在转发至后端服务器之前将被深度分析,所有不与RFC格式兼容的请求都会被拒绝。适用于需要HTTP层处理的场景。

haproxy实验环境的配置

haproxy的网络环境配置

webserver1和webserver2的网络环境的配置

将webserver1和webserver2的文件导入nginx的默认发布文件

在webserver1和webserver2上分别打开nginx的服务

最后在haproxy主机上进行测试,访问成功环境配置就搞定了

1.haproxy的基本部署方法以及负载均衡的实现

在haproxy主机上安装haproxy

查看haproxy的配置文件并进行配置

2.haproxy的全局配置参数以及日志分离

查看haproxy的默认进程

现在进行多进程的设置

开启两个以后查看

查看子进程中的线程数

同时设定多线程和多进程,会产生互斥

互斥后重启服务就会报错

现在将一个注释掉

然后重启服务后在进行查看

自定义haproxy的日志

进入配置文件进行配置,同时还需要开启udp协议

3.haproxy-proxies中的常用配置参数

check:对指定的real进行健康状态检查  inter:健康状态检查间隔时间 默认为2000ms  fall:后端服务器从线上转为线下的连续失败次数,默认为3 rise:后端服务器从下线恢复上线的检查的连续有效次数,默认为2 weight:默认为1,最大值为256,0(状态为蓝色)表示不参与负载均衡,但仍接受持久连接                   

设置backup,设置为web_sorry还要把webserver1和webserver2的nginx下线

先在haproxy主机上安装httpd

进入httpd的配置文件将端口号改为8080

然后开启httpd服务

给index.html文件写入内容

然后进入haproxy配置文件写入

然后进行访问

要进行维护先将一台下线,使用disabled:将后端服务器标记为不可用状态,即维护状态

下线的为172.25.254.10,所以访问就没有10

然后进入配置文件将disabled删掉10又可以访问

redirect prefix http://www.baidu.com/ 表示将请求定向定向到一个指定网站

在浏览器上访问172.25.254.100 定向到了百度

maxconn:当前后端server的最大并发连接数

4.haproxy的热更新方法

给该文件提权进行查看

在haproxy上安装socat(动态调整haproxy中的参数)

查看haproxy的状态

查看服务器的状态

查看当前权重,更改权重为1,更改后查看

下线后端服务器下线后查看全为172.25.254.20

上线后端服务器,上线后查看恢复正常

haproxy多进程热处理

重启服务后查看

5.haproxy的算法

haproxy的静态算法,是不能修改权重

haproxy的动态算法

roundrobin算法,是谁空闲了就给谁

leastconn:加权最少连接的动态,并且支持慢启动

haproxy的其他算法

source:当后端服务器数据量发生变化时,会导致很多用户的请求转发至新的后端服务器

进行访问时全部掉到172.25.254.20

一致性hash:当服务器的总权重发生变化时,对调度结果影响时局部的,不会引起大的变动hash(0)mod n 该hash算法是动态的,支持使用socat等工具进行在线权重调整,支持慢启动

uri:基于用户请求的uri的左半部分或整个uri做hash,再将hash结果对总权重进行取模后根据最终结果将请求转发到后端指定服务器,适用于后端是缓存服务器场景

进行访问

hdr:针对每个http头部(header)请求中的指定信息做hash

6.haproxy的状态页面监控

7.haproxy-基于cookie的会话保持

把hash打开

进行基于cookie的会话保持,cookie value:为当前server指定cookie值,实现基于cookie的会话粘性,相对于基于source地址hash调度算法对客户端的粒度更精准,但同时也加大了haproxy负载

8.haproxy-ip透传

把该条注释掉,进行访问

在172.25.254.20主机上访问日志,看不到后台支持的服务,把该条打开,做透传,就能看到是100进行访问的

在httpd上做透传,在webserver1主机上将nginx服务关闭掉,然后安装httpd

在haproxy主机中访问

在webserver1查看日志编辑httpd主配置文件在haproxy主机上进行访问

四层代理

在webserver2的nginx配置文件中进行配置

再次进行访问就可以访问到20

在webserver2的nginx配置文件中添加

9.haproxy的访问控制列表应用

添加ACL列表保存然后进行访问在计算机中查看文件然后进行访问即可

10.haproxy-自动筛选错误页面内容

先将webserver1的httpd服务和webserver2的nginx服务都暂停

然后使用浏览器进行访问

来到haproxy主机过滤一下配置文件,找到503的,首先在haproxy文件下建立一个文件,然后在新建文件底下再次新建一个503.http文件在此文件中写入内容把该文件加入haproxy主配置文件中,保持与退出并重启服务

然后在浏览器上再次访问172.25.254.100

11.haproxy的四层负载示例

首先在webserver1和webserver2上安装数据库

进入数据库配置文件修改id在webserver1和webserver2上都要修改

然后就可以实现远程登录

进入haproxy的主配置文件添加

12.haproxy-https的加密访问

证书制作

将文件导入,公钥和私钥都有了

进入haproxy主配置文件进行写入

查看443端口已打开

相关内容

热门资讯

鼎威安卓系统版本,性能升级与用... 你有没有发现,现在车机系统越来越智能了?这不,鼎威的安卓系统版本就让我眼前一亮。想象坐在车里,手指轻...
安卓系统安装抢红包,轻松成为抢... 亲爱的手机控们,是不是每次微信群里抢红包都感觉手慢无?别急,今天我要给你揭秘如何在安卓系统上轻松安装...
写ios系统和安卓系统的人,揭... 你有没有想过,那些默默无闻的程序员们,他们是如何创造出我们每天离不开的iOS系统和安卓系统呢?想象他...
安卓系统设计尺寸规范,适配与优... 亲爱的设计师们,你是否在为安卓系统的设计尺寸规范而头疼?别担心,今天我要带你一起探索这个神秘的领域,...
旧主机改安卓系统,安卓系统改造... 亲爱的读者们,你是否有过这样的经历:家里的旧主机闲置在角落,看着它那略显过时的外观,心里不禁感叹:“...
安卓系统里有趣的,尽在掌握 探索安卓乐园:那些让你笑出声的趣味游戏 开篇:手机里的欢乐小天地想象你手握一部安卓手机,屏幕上跳动...
法兰规格查询系统安卓,安卓版功... 你有没有想过,在繁忙的工程现场,如何快速找到合适的法兰规格呢?别急,今天就来给你揭秘一个神器——法兰...
目前安卓系统最高配置,极致性能... 你有没有发现,现在的手机越来越厉害了,就像是科幻电影里的高科技产品一样。今天,咱们就来聊聊这个话题:...
安卓修改系统返回键,个性化设置... 你有没有发现,手机里的那个小小的返回键,有时候就像是个顽皮的小家伙,让你摸不着头脑?别急,今天就来教...
安卓订餐系统教程视频,从设计到... 你是不是也和我一样,每天忙碌的生活中,最期待的就是那一顿美味的午餐或晚餐呢?现在,有了安卓订餐系统,...
安卓系统限制外部软件,探索外部... 亲爱的手机控们,你是否曾遇到过这样的烦恼:明明打开了“未知来源”,却还是无法安装那些心仪的外部软件?...
麒麟系统怎么运行安卓,麒麟系统... 你有没有想过,在咱们国产的麒麟系统上,也能轻松运行安卓应用?没错,就是那些你平时手机上用的微信、QQ...
苹果安卓系统的平板,性能、设计... 你有没有想过,为什么你的朋友有的捧着苹果平板,有的则对安卓平板情有独钟呢?今天,就让我带你来一场平板...
安卓系统如何显示电量,安卓系统... 手机电量这事儿,是不是让你头疼过?每次看到那个小小的电池图标,心里就七上八下的,生怕它突然没电了。别...
安卓系统能做ppt么,全面指南 你有没有想过,用安卓手机也能轻松制作PPT呢?没错,就是那个我们日常刷剧、聊天、拍照的安卓手机,现在...
安卓系统搜索通配符,高效文件搜... 手机里的文件多得像天上的星星,想要快速找到那个特别重要的文件,你是不是也头疼不已呢?别急,今天就来给...
安卓手机系统谁最强,谁是最强王... 安卓手机系统谁最强?揭秘各大系统间的较量!在这个科技飞速发展的时代,手机已经成为了我们生活中不可或缺...
小米微单 安卓系统,功能与体验... 小米微单,安卓系统下的摄影新宠摄影爱好者们,你们有没有想过,一台相机不仅仅是一个拍照的工具,它还能成...
华为手机降安卓系统,恢复流畅体... 最近手机圈可是热闹非凡呢!华为手机的大动作,简直让人眼睛一亮。没错,就是那个我们熟悉的华为,它竟然要...
安卓系统如何转数据,轻松实现跨... 换新手机的时候,是不是发现旧手机里的宝贝数据都得搬家呢?别急,今天就来给你支个招,让你轻松把安卓系统...