Haproxy搭建web群集——(实践!)
发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,常见的web集群调度器目前常见的web集群调度器分为软件和硬件,软件通常使用开源的LVS,Haproxy,Nginx,硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼,绿盟等Hapr
千家信息网最后更新 2024年11月27日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安全错误
数据库的锁怎样保障安全
方舟生存进化怎么搭建个小服务器
辽宁网络技术服务参考价
网络安全和信息化2016
惠州软件开发哪家公司靠谱
网络安全知识有奖竞答开始啦
数据库表电脑读取不到数据库
ibm服务器刀箱类型
可视化连接数据库的代码
服务器安全加固 华三
白牌服务器的目标
物联网是网络安全概念股
金融软件开发排名
企业网络安全问题自查
服务器 温度灯
公司内网系统需要服务器吗
魔兽世界服务器排名
生死狙击2服务器什么时候开
中国的生物信息学数据库
山西ios软件开发编程
服务器是用什么开的
游戏麻将软件开发
数据库表电脑读取不到数据库
网络安全专家 嘉宾
网络安全的五个目标不可抵赖性
教育软件开发的企业描述
德州党性体检软件开发
tcga数据库怎么搜基因
清华大学ftp服务器
梯形图用什么软件开发的
湖北品质软件开发服务价格优惠