Haproxy 搭建 Web群集
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,文章目录一、常见的 Web集群调度器:二、Haproxy 应用分析:三、Haproxy 调度算法原理:四、实验示例:第一步:搭建两台 Nginx 服务器第二步:搭建 Haproxy第三步:在 win1
千家信息网最后更新 2025年02月01日Haproxy 搭建 Web群集
文章目录
一、常见的 Web集群调度器:
二、Haproxy 应用分析:
三、Haproxy 调度算法原理:
四、实验示例:
第一步:搭建两台 Nginx 服务器
第二步:搭建 Haproxy
第三步:在 win10 上用浏览器访问调度服务器 (192.168.100.100/test.html)
第四步:优化日志
一、常见的 Web集群调度器:
目前常见的 Web 集群调度器分为软件和硬件,软件通常使用开源的LVS、Haproxy、Nginx,硬件一般使用比较多的是 F5,也有很多人使用国内的一些产品,如梭子鱼、绿盟等。
二、Haproxy 应用分析:
(1)LVS 在企业应用中抗负载能力很强,但存在不足:
LVS 不支持正则处理,不能实现动静分离;
对于大型网站,LVS 的实现配置复杂,维护成本相对较高
(2)Haproxy 是一款可提供高可用性、负载均衡、及基于 TCP 和 HTTP 应用的代理的软件
特别适用于负载特别大的 Web站点;
运行在当前的硬件上可支持数以万计的并发连接请求
三、Haproxy 调度算法原理:
Haproxy 支持多种调度算法,最常用的有三种:
(1)RR:
RR 算法是最简单最常用的一种算法,即轮询调度;
(2)LC:
LC 算法即最小连接数算法,根据后端的节点连接数大小动态分配前端请求;
(3)SH:
SH 即基于来源访问调度算法,次算法用于一些有 Session 会话记录在服务器端的场景,可以基于来源的 IP、Cookie 等做集群调度。
四、实验示例:
(1)环境准备:
两台 Nginx 服务器,一台 Haproxy调度服务器,一台window作为测试用;
在两台 Nginx服务器写两个测试网页;
所有主机网卡都设置成仅主机模式,修改好网卡信息;
客户端可以通过访问调度服务器,访问到两台节点服务器,不需要访问真实服务器地址。
角色 IP地址
Haproxy 192.168.100.100
Nginx 01 192.168.100.201
Nginx 02 192.168.100.202
window10(作为测试用) 192.168.100.50
第一步:搭建两台 Nginx 服务器
这边具体细节不再写了,可以看之前的博客,有详细写搭建过程和细节。
搭建好 Nginx服务之后,在 Nginx主页 html 中添加一个测试主页,便于验证实验结果:
第一台:
第二台:
第二步:搭建 Haproxy
(1)安装编译工具:
yum install bzip2-devel pcre-devel gcc gcc-c++ make -y
(2)可以通过远程挂载将 haproxy压缩包挂载到本地,再解压缩:
tar zxvf haproxy-1.5.19.tar.gz -C /opt/ //解压到/opt目录下
(3)编译:
make TARGET=linux3100注:这个版本号,可以使用 uname -a 命令来查看版本号
make install
(4)创建文件,进行备份修改:
mkdir /etc/haproxycp examples/haproxy.cfg /etc/haproxy/vim /etc/haproxy/haproxy.cfgglobal log 127.0.0.1 local0 log 127.0.0.1 local1 notice #log loghost local0 info maxconn 4096 uid 99 gid 99 daemon #debug #quietdefaults log global mode http option httplog option dontlognull retries 3 maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000listen webcluster 0.0.0.0:80 option httpchk GET /test.html balance roundrobin server inst1 192.168.100.201:80 check inter 2000 fall 3 server inst2 192.168.100.202:80 check inter 2000 fall 3
(5)启动脚本:
cp examples/haproxy.init /etc/init.d/haproxy //复制到init.d启动进程中chmod +x /etc/init.d/haproxy //添加执行权限chkconfig --add haproxy //添加到service,便于识别ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy //创建软连接
(6)开启服务:
service haproxy start
关闭防火墙等环境
[root@Haproxy haproxy-1.5.19]# systemctl stop firewalld.service [root@Haproxy haproxy-1.5.19]# setenforce 0
第三步:在 win7 上用浏览器访问调度服务器(192.168.100.100/test.html)
第四步:优化日志
对调度器的配置文件进行优化和修改,可以将正常的访问信息和错误的信息分别存放在不同的日志文件中,方便管理;Haproxy的日志默认是输出到系统的 syslog 中,在生产环境中一般单独定义出来。
(1)修改主配置文件
vim/etc/haproxy/haproxy.cfg修改global段:log /dev/log local0 info //正常访问的信息存放地log /dev/log local0 notice //提示、警告等信息存放地
(2)重启服务
service haproxy restart
(3)创建文件,并添加规则
[root@Haproxy haproxy]# touch /etc/rsyslog.d/haproxy.conf[root@Haproxy haproxy]# cd /etc/rsyslog.d/[root@Haproxy rsyslog.d]# vim haproxy.conf if ($programname == 'haproxy' and $syslogseverity-text == 'info')then -/var/log/haproxy/haproxy-info.log&~if ($programname == 'haproxy' and $syslogseverity-text == 'notice')then -/var/log/haproxy/haproxy-notice.log&~
(4)重启日志服务
systemctl restart rsyslog.service
(5)查看日志文件: /var/log/haproxy/haproxy-info.log
服务
调度
服务器
算法
文件
日志
信息
集群
应用
测试
常见
环境
硬件
软件
实验
支持
配置
主机
主页
原理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
关于网络技术得梦想得征文
网络安全 逆向
数据库系统 概念模式
特岗服务器满参加招教考试加分吗
手机网络安全选项在哪里设置
服务器端口能改成什么
小学生网络安全手报抄报图片
能用的时间同步服务器
家政软件开发架构
服务器暂不可用是什么原因
武汉 软件开发
服务器缓存太多卡死了
java 云服务器debug
局域网服务器设置网关
滨州管理软件开发哪家做的好
方舟生存进化手游官方服务器作弊
天窗网络安全
广州交友软件开发哪里好
白酒直销软件开发公司电话
网络安全项目实施计划
证券公司服务器坏了
炳翔命运数据库
国家网络安全图
带网络安全模式启用打印机
国内外软件开发差距
河北正规软件开发管理模式
外国的网络安全企业
软件开发升迁路线
陈洪波网络安全
hon亚服的中国服务器