0
点赞
收藏
分享

微信扫一扫

HarmonyOS Next开发学习手册——选项卡 (Tabs)

云竹文斋 2024-06-30 阅读 8

HaProxy介绍:

haproxy是法国开发者威利塔罗在2000年使用C语言开发的一个开源软件,是一款具备高并发(一万以上)、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态统计,目前最新TLS版本为2.2。

haproxy是可提供可用性、负载均衡以及基于TCP和HTTP应用的代理,是免费、快速并且可靠的一种解决方案。haproxy非常适用于并发大(并发达1W以上)web站点,这些站点通常又需要会话保持或七层处理,haproxy的运行模式使得它可以很简单安全的整合至当前的架构中,同时可以保护web服务器不被暴露到网络上。

LVS,nginx,haproxy对比:

LVS是内核中的功能,nginx和haproxy是第三方实现的功能。

LVS只能提供四层负载均衡无法提供七层负载,(无法控制7层协议http头部url等),功能单一。

nginx,haproxy可以实现4层和7层负载,功能较多,但是性能不如LVS,LVS>haproxy>nginx

haproxy对比nginx性能优越,功能单一,haproxy只做反向代理。

LVS没有后端服务器健康性检测,nginx和haproxy有后端服务器健康性检测。

安装haproxy:

三种方式:yum,rpm和编译

yum安装:yum install -y haproxy

可以rpm -qc haproxy查看配置文件

rpm安装:

错误:软件包:rh-haproxy18-haproxy-1.8.24-3.el7.x86_64 (/rh-haproxy18-haproxy-1.8.24-3.el7.x86_64)
rpm安装haproxy需要需要:rh-haproxy18-runtime

需要依赖包

编译安装haproxy:

在第二台机器7-2上编译安装,7-1和7-3作为web真实服务器

由于CentOS7 之前版本自带的lua版本比较低并不符合haproxy要求的lua最低版本(5.3)的要求,因此需要编译安装较新版本的lua环境,然后才能编译安装haproxy,所以需要先安装lua环境。

#安装haproxy

#创建主配置文件/etc/haproxy/haproxy.cfg

global:全局配置段

proxies:代理配置段

主配置文件配置块:

起来之后查看状态:

listen中说明了代理服务器,和后端真实服务器。

而frontend和backup就把两者分离出来。listen相当于两者的结合。

7-1和7-3作为web服务器。下载httpd:

测试是否实现了代理和负载均衡:在浏览器也可以在本台服务器上curl 192.168.114.20:8899要跟上端口号:8899。因为我们在listen中设置的就是8899端口号。

状态页:

在配置文件中有以下三个配置,端口号,uri,访问控制。在浏览器地址栏中输入:192.168.114.20:9999/haproxy-status

bind 0.0.0.0:9999

stats uri     /haproxy-status

stats auth    haadmin:123456


 

进程:发现进程是一个进程下三个线程

 修改进程配置,nbproc 4就是有四个进程:

重启systemctl restart haproxy。

通过进程树查看一下: 

日志:

vim /etc/rsyslog.conf打开文件开启15和16行。

在/etc/rsyslog.conf文件的73行下添加一行,指定local3,并制定日志文件路径在/var/log/haproxy.log

重启systemctl restart haproxy rsyslog

使用浏览器访问192.168.114.20:8899

在日志文件中tail -f /var/log/haproxy.log实时查看

不使用listen,而使用frontend和backup两个模块:相当于把listen分开写,frontend是代理端,backup是服务端,负载均衡的web服务器。把listen注释掉或者删除。

 测试:由于我们指定的80端口,直接是curl 192.168.114.20不需要加端口,默认就是80。

其中listen或者说frontend和backup可以放在子配置文件中:

创建一个子配置文件:mkdir /etc/haproxy/conf.d

直接写在子配置文件中,但haproxy不像nginx可以在主配置文件中写入include包含模块。haproxy主配置文件不支持include。需要将子配置文件写在/usr/lib/systemd/system/haproxy.service文件中指明。

 把主配置文件中的注释掉。修改文件:vim /usr/lib/systemd/system/haproxy.service

重新加载配置文件,重启服务:

访问测试:

haproxy也有跳转的功能,在server后加入check redir http://www.baidu.com

 自动跳转到百度主页,如果浏览器跳转不到(但也会显示标题头部是百度的),可以使用内置火狐浏览器:192.168.114.20。将自动跳转到百度首页。

---end---

举报

相关推荐

0 条评论