Haproxy搭建web群集——(实践!)
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,常见的web集群调度器目前常见的web集群调度器分为软件和硬件,软件通常使用开源的LVS,Haproxy,Nginx,硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼,绿盟等Hapr
千家信息网最后更新 2025年02月01日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.175web1服务器 192.168.13.151web2服务器 192.168.13.176client测试机
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,使用client测试网页
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安全错误
数据库的锁怎样保障安全
曲江服务器充电桩
攻城掠地傲世堂游戏登陆服务器
服务器网络管理系统
我的世界明月庄主服务器解说
企业网络安全员是专职还是兼职
确定服务器配置
t3 数据库无法卸载
达梦数据库迁移工具报6007
网络安全组官网源码
中山嵌入式软件开发可信吗
传输网络技术题库
支持隔空打印的打印服务器
江苏型材套料软件开发商
喋血复仇被服务器封禁
中国电信云网络安全公司
cnki是书目数据库
广东人工智能软件开发机构
mysql数据库怎么移到d盘
今日头条互联网科技
网络安全攻防演练信息
网络技术人员试用期工作总结
网络安全顶层文件
学生成绩数据库添加数据
如何创建hive的数据库
网络安全系统与维护论文
数据中心网络安全汇报材料
服务器cpu运行时间
学点在线网络技术有限公司
冒险岛新版游戏数据库
华宇互联网科技