怎样在Haproxy中搭建Web群集?
发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会
千家信息网最后更新 2024年11月15日怎样在Haproxy中搭建Web群集?
HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。
HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
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安全错误
数据库的锁怎样保障安全
远程从服务器获取信息失败
deform数据库
软件开发上市公司 湖南
网络安全工作例会
企业校招网络安全考试题库
网络安全中所致的网络包括
上海网络安全审计硬件生产厂家
服务器都需要网卡吗
违反网络安全第44条
网络工程学网络安全吗
邯郸小鸡快跑网络技术有限公司
小程序开发 服务器
城市网络安全流量监测
软件开发培训职业素养
软件开发组开会
退出华为账号为啥无法连接服务器
宽客网络技术股票代码
思科网络安全证书
往日不再的游戏服务器搭建
腾讯轻量服务器推送方法
网络安全 人为使用不当
关系型数据库管理系统简称
我的世界手游哪个服务器有色盲
如何禁用服务器的安全启动
红楼梦小说软件开发
大型软件开发涉及到的角色
河北财务软件开发
数据库查询100条
怎么查db2数据库的字符集
网络安全语言