使用Haproxy搭建web集群
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,常见的web集群调度器目前常见的web集群调度器分为软件和硬件,软件通常使用开源的LVS,Haproxy,Nginx,硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼,绿盟等Hapr
千家信息网最后更新 2025年02月04日使用Haproxy搭建web集群
常见的web集群调度器
目前常见的web集群调度器分为软件和硬件,软件通常使用开源的LVS,Haproxy,Nginx,硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼,绿盟等
Haproxy应用分析
LVS在企业应用中抗负载能力很强,但存在不足
LVS不支持正则处理,不能实现动静分离
对于大型网站,LVS的实施配置复杂,维护成本相对较高
Haproxy是一款可提供高可用性,负载均衡,及基于TCP和HTTP应用的代理的软件
特别适用于负载特别大的web站点
运行在当前的硬件上可支持数以万计的并发连接连接请求
Haproxy调度算法原理
RR:最简单常用的,轮询调度
LC:最小连接数算法,根据后端的节点连接数大小动态分配前端请求
SH:来源访问调度算法,用于有session会话记录在服务器端,可以基于来源ip,cookie做群集调度
实验环境
Haporxy服务器 192.168.13.175
web1服务器 192.168.13.151
web2服务器 192.168.13.176
客户端测试机 win7
1,在web1,web2服务器上安装Nginx
[root@web1 ~]# yum install -y \ ##安装环境需要组件包> pcre-devel \ ##开发包> zlib-devel \ ##压缩包> gcc \> gcc-c++ \> make [root@web1 ~]# useradd -M -s /sbin/nologin nginx ##创建系统用户[root@web1 ~]# mkdir /abc ##创建挂载点[root@web1 ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/ ##挂载Password for root@//192.168.100.3/LNMP-C7: [root@web1 ~]# cd /abc/[root@web1 abc]# tar zxvf nginx-1.12.2.tar.gz -C /opt ##解压[root@web1 abc]# cd /opt/nginx-1.12.2/[root@web1 nginx-1.12.2]# ./configure \ ##进行配置> --prefix=/usr/local/nginx \> --user=nginx \> --group=nginx[root@web1 nginx-1.12.2]# make && make install[root@web1 nginx-1.12.2]# echo "this is kgv web" > /usr/local/nginx/html/test.html##创建站点网页内容,web2上为this is accp web[root@web1 nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ##便于系统识别[root@web1 nginx-1.12.2]# nginx -t ##检查语法[root@web1 nginx-1.12.2]# nginx ##开启服务[root@web1 nginx-1.12.2]# systemctl stop firewalld.service ##关闭防火墙[root@web1 nginx-1.12.2]# setenforce 0
2,在haproxy服务器上安装haproxy调度服务
[root@haproxy ~]# yum install -y \ ##安装环境组件工具> pcre-devel \> bzip2-devel \> gcc \> gcc-c++ \> make[root@haproxy ~]# systemctl stop firewalld.service ##关闭防火墙[root@haproxy ~]# setenforce 0[root@haproxy ~]# mkdir /abc[root@haproxy ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/ ##挂载[root@haproxy ~]# cd /abc/[root@haproxy abc]# tar zxvf haproxy-1.5.19.tar.gz -C /opt/ ##解压[root@haproxy abc]# cd /opt/haproxy-1.5.19/[root@haproxy haproxy-1.5.19]# make TARGET=linux26 ##编译[root@haproxy haproxy-1.5.19]# make install ##安装[root@haproxy haproxy-1.5.19]# mkdir /etc/haproxy ##创建配置文件目录[root@haproxy haproxy-1.5.19]# cp examples/haproxy.cfg /etc/haproxy/ ##模板复制到配置目录下[root@haproxy haproxy-1.5.19]# cd /etc/haproxy/[root@haproxy haproxy]# vim haproxy.cfg ##编辑配置文件----------删除所有listen项目,并添加------------------------------------注释以下语句chroot /usr/share/haproxyredispatch添加listen webcluster 0.0.0.0:80 option httpchk GET /test.html ##web网页 balance roundrobin ##轮询 server inst1 192.168.13.151:80 check inter 2000 fall 3 ##健康检查请求三次 server inst2 192.168.13.176:80 check inter 2000 fall 3[root@haproxy haproxy]# cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy ##启动文件[root@haproxy haproxy]# chmod +x /etc/init.d/haproxy ##执行权限[root@haproxy haproxy]# chkconfig --add /etc/init.d/haproxy ##添加到service[root@haproxy haproxy]# ln -s /usr/local/sbin/haproxy /usr/sbin/ ##便于系统识别[root@haproxy haproxy]# service haproxy start ##开启服务Starting haproxy (via systemctl): [ 确定 ][root@haproxy haproxy]# netstat -ntap | grep haproxy ##查看端口tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 39884/haproxy
3,使用使用测试机测试网页
4,日志定义,修改haproxy配置文件
[root@haproxy haproxy]# vim /etc/haproxy/haproxy.cfg ##修改配置文件global log /dev/log local0 info ##添加两个级别的日志文件 log /dev/log local0 notice #log loghost local0 info[root@haproxy haproxy]# service haproxy restart ##重启服务[root@haproxy haproxy]# touch /etc/rsyslog.d/haproxy.conf ##创建系统日志haproxy配置文件[root@haproxy haproxy]# vim /etc/rsyslog.d/haproxy.confif ($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&~[root@haproxy haproxy]# systemctl restart rsyslog.service ##重启系统日志服务[root@haproxy haproxy]# cd /var/log/ ##此时是没有haproxy日志##重新访问网页[root@haproxy haproxy]# cd /var/log/haproxy/[root@haproxy haproxy]# ls ##此时就生成了info级别的日志文件haproxy-info.log
服务
文件
配置
日志
调度
服务器
系统
网页
环境
硬件
级别
软件
应用
测试
集群
常见
来源
目录
站点
算法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
路由器正在收集数据库
福建语音网络技术推广
联通宽带无法访问电信服务器
海南通用软件开发服务电话
网络安全咨询公司
表格显示数据库数据类型
钉钉软件开发流程
梦幻寒山寺在哪个服务器
数据库 好友
工学数据库应用与设计实验
绝地求生2哪个服务器是亚服
如何看足球数据库
可可软件开发者平台
什么编程语言适合做数据库
mc服务器地图转换
mcjava版服务器怎么调皮肤
安卓软件开发怎么加背景图
软件开发卡学历
丰田车空调服务器
晋宁服务器上门回收中心
wind数据库 排行榜 钱
网络安全工作情况报告机制
软件开发应用桌面云
关于网络安全的手抄报模版
延庆区智能网络技术诚信合作
彩虹六号异种服务器
丽水运营网络技术有哪些
ibm服务器断电
森林假设服务器之后不能玩
BIGD是一级数据库