Haproxy(3)--使用frontend和backend配置方法实现动静分离

根据用户访问的资源是静态的,即非常详细的url地址,还是动态的,分别访问不同的主机

1.配置haproxy服务(number1)

  • vim /etc/haproxy/haproxy.cfg #编辑配置文件
  • 编辑内容如下:
  • 将之前实验中多余的listen模块注释
  • frontend编辑内容的含义:
  • 若用户静态的url以/images开始,以图片的形式结尾,就可以访问到
  • 若url为静态的,则后端为statis
  • 默认为动态的
  • 设置172.25.254.3为静态的
  • 设置172.25.254.2与172.25.254.1为动态的
  • systemctl restart haproxy.service #重启haproxy服务

Haproxy(3)--使用frontend和backend配置方法实现动静分离
Haproxy(3)--使用frontend和backend配置方法实现动静分离
Haproxy(3)--使用frontend和backend配置方法实现动静分离
Haproxy(3)--使用frontend和backend配置方法实现动静分离
Haproxy(3)--使用frontend和backend配置方法实现动静分离

2.配置动态的(number1、number2)

  • yum install httpd -y #安装httpd服务
  • vim /etc/httpd/conf/httpd.conf #编辑httpd的配置文件,更改端口信息,以便不与haproxy服务端口冲突
  • vim /var/www/html/index.html #编辑默认发布文件
  • systemctl restart httpd #开启httpd服务
  • systemctl restart haproxy.service #重启haproxy服务

Haproxy(3)--使用frontend和backend配置方法实现动静分离
Haproxy(3)--使用frontend和backend配置方法实现动静分离
Haproxy(3)--使用frontend和backend配置方法实现动静分离
Haproxy(3)--使用frontend和backend配置方法实现动静分离
Haproxy(3)--使用frontend和backend配置方法实现动静分离

3.配置静态的(number3)

  • 添加静态资源
    Haproxy(3)--使用frontend和backend配置方法实现动静分离

4.在真实的主机中测试

  • 访问172.25.254.1,发现实现的是动态的轮询,即number1和number2的轮询
    Haproxy(3)--使用frontend和backend配置方法实现动静分离
    Haproxy(3)--使用frontend和backend配置方法实现动静分离
  • 将number1作为backup,不实现轮询
  • 再次访问172.25.254.1,轮询消失
  • number2宕机,则number1上线

Haproxy(3)--使用frontend和backend配置方法实现动静分离
Haproxy(3)--使用frontend和backend配置方法实现动静分离

Haproxy(3)--使用frontend和backend配置方法实现动静分离
Haproxy(3)--使用frontend和backend配置方法实现动静分离
Haproxy(3)--使用frontend和backend配置方法实现动静分离

  • 方向代理器中是没有任何资源的,只能从后端服务器中获取
  • 访问静态资源,即172.25.254.1/images,发现获取到的是静态服务器中的内容
    Haproxy(3)--使用frontend和backend配置方法实现动静分离