一.了解HAproxy

1、haproxy是什么

HAproxy是一个软件,提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。

2、haproxy的优缺点

优点:实现了一种事件驱动,单一进程模型,可以支持数以万计的并发连接。(多进程模型受内存限制、系统调度器限制和锁限制等等,很少能处理数千并发连接),支持虚拟主机。

缺点:在多核系统上,这些程序通常扩展性较差。

二.配置HAproxy的反向代理负载均衡

此实验用到了一台服务器:madao1,ip为172.25.2.1
两台后端服务器:
madao2,ip为172.25.2.2
madao3,ip为172.25.2.3

1、安装haproxy

命令

功能

yum search haproxy

查找haproxy的相关包

yum install haproxy -y

安装haproxy

2、配置haproxy服务器

vim /etc/haproxy/haproxy.cfg

行号	修改的内容
63	frontend main *:80	#设置监听ip:端口(所有:80端口)
64	#    acl url_static       path_beg       -i /static /images /javascript /sty    lesheets	
65	#    acl url_static       path_end       -i .jpg .gif .png .css .js
67	#    use_backend static          if url_static
68	default_backend             app		#调用的后端组名为app

81	balance     roundrobin		#负载均衡的方式为轮循方式
82	server  app1 madao2:80 check	#madao2为添加过解析的一个主机名,对应了一台后端服务器
83	server  app2 madao3:80 check	#madao3同上

systemctl restart haproxy

haproxy搭建 haproxy教程_服务器测试

3、配置后端服务器

在两台后端服务器上都进行以下配置

命令

功能

yum install httpd -y

拿apache做测试,所以下载httpd

systemctl start httpd

开启httpd服务

vim /var/www/html/index.html

创建或修改该文件

this is madao2	#在后端服务器madao2上写入该内容,区分madao3的页面
this is madao3	#在后端服务器madao3上写入该内容

命令

功能

systemctl restart httpd

重启httpd服务

4、在客户端测试

<1>terminal中测试

命令

功能

curl madao1

curl服务器测试

@ this is madao2

显示madao2后端服务器的页面(意味着反向代理配配置成功)

curl madao1

curl服务器测试

@ this is madao3

显示madao3后端服务器的页面

curl madao1

curl服务器测试

@ this is madao2

显示madao2后端服务器的页面(意味着轮循是正常的的)

curl madao1

curl服务器测试

@ this is madao3

显示madao3后端服务器的页面(轮循没问题)

haproxy搭建 haproxy教程_后端服务_02

<2>浏览器中测试

命令

功能

madao1

访问服务器域名

@ this is madao2

显示madao2后端服务器的页面(意味着反向代理配配置成功)

madao1

访问服务器域名

@ this is madao3

显示madao3后端服务器的页面

madao1

访问服务器域名

@ this is madao2

显示madao2后端服务器的页面(意味着轮循是正常的的)

madao1

访问服务器域名

@ this is madao3

显示madao3后端服务器的页面(轮循没问题)

haproxy搭建 haproxy教程_haproxy搭建_03


haproxy搭建 haproxy教程_haproxy搭建_04