负载均衡的高可用集群(7)-haproxy的动静分离,读写分离

1.haproxy的动静分离

实验环境:  

server3(haproxy) install haproxy 
server4(动态服务器) install PHP     写一个PHP动态页面
server5(静态服务器) 在里面创建一个/var/www/html/images 放一张图片去

验证后台4 ,5 服务器

负载均衡的高可用集群(7)-haproxy的动静分离,读写分离_第1张图片

负载均衡的高可用集群(7)-haproxy的动静分离,读写分离_第2张图片

[root@server3 haproxy]# vim  /etc/haproxy/haproxy.cfg 
 

负载均衡的高可用集群(7)-haproxy的动静分离,读写分离_第3张图片

测试:

负载均衡的高可用集群(7)-haproxy的动静分离,读写分离_第4张图片

负载均衡的高可用集群(7)-haproxy的动静分离,读写分离_第5张图片

2.haproxy的读写分离

实验环境:  

server3(haproxy) install haproxy 
server4(读服务器) 从该服务器读取文件
server5(写服务器) 下载文件到该服务器

文件配置

server3 上的配置
[root@server3 haproxy]# vim  /etc/haproxy/haproxy.cfg 

负载均衡的高可用集群(7)-haproxy的动静分离,读写分离_第6张图片

2.haproxy的读写分离

实验环境:  

server3(haproxy) install haproxy 
server4(只读服务器) install PHP     读文件    在http默认发布目录里面建立upload目录修改权限 并将读写的php代码放入默认发布目录中
server5(只写态服务器) install PHP     写文件 在http默认发布目录里面建立upload目录修改权限 并将读写的php代码放入默认发布目录中
/var/www/html/index.php 




/var/www/html/upload_file.php 0) { echo "Return Code: " . $_FILES["file"]["error"] . "
"; } else { echo "Upload: " . $_FILES["file"]["name"] . "
"; echo "Type: " . $_FILES["file"]["type"] . "
"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?>

文件配置

[root@server3 haproxy]# vim  /etc/haproxy/haproxy.cfg 
 acl read_request method GET
 acl read_request method HEAD
 acl write_request method PUT
 acl write_request method POST

    use_backend static          if read_request
    use_backend app             if write_request
    default_backend             static
#   default_backend             app

#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend static
    balance     roundrobin
    server      static 172.25.254.4:80 check

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend app
  balance     roundrobin
  #  balance     source
    # balance static-rr
    server  app1 172.25.254.5:80 check
#    server  app2 172.25.254.5:8080 check
    server  backup 127.0.0.1:8000 backup

测试后端服务器 

负载均衡的高可用集群(7)-haproxy的动静分离,读写分离_第7张图片

负载均衡的高可用集群(7)-haproxy的动静分离,读写分离_第8张图片

 重启服务后,测试haproxy能否实现读写分离

负载均衡的高可用集群(7)-haproxy的动静分离,读写分离_第9张图片

 

你可能感兴趣的:(企业自动化运维架构)