Haproxy(2)——动静分离和读写分离

本文介绍了如何在Haproxy中实现动静分离和读写分离。首先,搭建了实验环境为RHEL7.5。接着,展示了Haproxy设置黑名单的操作。然后,通过在不同服务器上安装PHP,实现了动静分离,使得静态页面由server2提供,动态.php文件由server3处理。最后,通过PUT/POST和GET/HEAD请求,实现了读写分离,确保server2用于读取操作,而server3负责写入操作。
摘要由CSDN通过智能技术生成

搭建环境

实验环境:rhel7.5

主机信息 作用
server1(172.25.8.1) haproxy
server2(172.25.8.2) 读的功能
server3(172.25.8.3) 写的功能
真机 测试

#1 Haproxy设置黑名单

当某主机被添加到黑名单里面的时候,报错让他转移到其他的页面连接

[root@server1 ~]# vim /etc/haproxy/haproxy.cfg 
 67 frontend  main *:80
 68         acl blacklist  src  172.25.8.250
 69         http-request deny if blacklist
 70         errorloc 403 http://172.25.8.1:8080/index.html
[root@server1 ~]# yum install -y httpd
[root@server1 ~]# vim /var/www/html/index.html
无法访问!!!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#本机上安装http,只是为了提供8080端口

[root@server1 ~]# systemctl start httpd
[root@server1 ~]# netstat -anltp
[root@server1 ~]# vim /etc/httpd/conf/httpd.conf 
 42 Listen 8080
[root@server1 ~]# systemctl restart haproxy.service

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

#浏览器测试:
输入:172.25.8.1:8080/index.html

[kiosk@foundation8 ~]$ curl 172.25.8.1:8080
无法访问!!!

在这里插入图片描述

#2 Haproxy动静分离

nginx:擅长处理静态页面
apache:擅长处理动态页面访问.php
#修改配置文件

在server3安装php,访问动态.php
默认访问的是server2,静态页面
访问.php文件的时候,访问的动态文件;

[root@server1 ~]# vim /etc/haproxy/haproxy.cfg 
 68         acl blacklist  src  172.25.8.111
 69         http-request deny if blacklist
 70         errorloc 403 http://172.25.8.1:8080/index.html

 75     use_backend  dynamic       if {
    path_end .php }  #php文件
 76     default_backend             static

 81 backend static
 82     balance     roundrobin
 83     server      web1 172.25.8.2:80 check inter 1000
 84 backend dynamic    #访问php是访问的server3动态页面
 85     balance     roundrobin
 86     server      web2 172.25.8.3:80 check inter 1000
[root@server1 ~]# systemctl restart haproxy.service 

在这里插入图片描述
在这里插入图片描述
#在server3上安装php

[root@server3 ~]# yum install -y php
[root@server3 ~]# vim /var/www/html/index.php
<?php
phpinfo()
?>
[root@server3 ~]# systemctl restart httpd.service 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值