高可用集群下的负载均衡(5):haproxy的动静分离与读写分离
一、haproxy动静分离
实验环境:
server2(haproxy):安装 haproxy
server3(静态服务器):在apache的默认发布目录下创建一个 images目录,并放一张图片
server4(动态服务器):安装php ,修改回 80 端口(之前做过端口转发,所以需要改回来)
1. server4中进行设置
【1】安装php
【2】/etc/httpd/conf/httpd.con 中修改端口
【3】vim index.php
【4】在页面中进行访问
2. server3 中进行设置
【1】创建一个/var/www/html/images 放置图片
【2】在浏览器中访问
3. server2 中修改配置文件
[root@server2 haproxy]# vim /etc/haproxy/haproxy.cfg
4. 测试
二、haproxy 读写分离
1 . 实现环境:
server2(haproxy):安装 haproxy
server3(读服务器):所有读取的动作都在server3
举例:上传图片时,在未点击上传时,一直时在server3中
安装PHP
读文件:在http默认发布目录中建立upload目录,并修改权限 ;将读写的php代码放入默认发布目录中
server4(写服务器):写入都在server4
举例:点击上传后,是在server4中
写文件:在http默认发布目录中建立upload目录,并修改权限 ;将读写的php代码放入默认发布目录中
2. 实验
【1】建立upload目录
此处以server4中为例,需要注意server3中也需要做此操作.
- 删除之前做动静分离实验时创建的index.php文件,将upload文件中的文件已到apache的默认发布目录中
【2】可读写的php代码
[root@server2 html]# /var/www/html/index.php
<html>
<body><form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form></body>
</html>[root@server2 html]# /var/www/html/upload_file.php
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 60000000)){if ($_FILES["file"]["error"] > 0){echo "Return Code: " . $_FILES["file"]["error"] . "<br />";}else{echo "Upload: " . $_FILES["file"]["name"] . "<br />";echo "Type: " . $_FILES["file"]["type"] . "<br />";echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";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";}
?>
【3】修改配置文件
- server2:
vim /etc/haproxy/haproxy.cfg[root@server3 haproxy]# vim /etc/haproxy/haproxy.cfg acl read_request method GETacl read_request method HEADacl write_request method PUTacl write_request method POSTuse_backend static if read_requestuse_backend app if write_requestdefault_backend static
# default_backend app#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend staticbalance roundrobinserver static 172.25.15.3:80 check#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend appbalance roundrobin# balance source# balance static-rrserver app1 172.25.15.3:80 check
# server app2 172.25.14.5:80 checkserver backup 127.0.0.1:8000 backup
【4】测试
选择想要上传的图片(读操作是在server3中)
点击Submit上传后出现如下信息,显示上传成功(写入到server4中了)
图片是被上传到了server4中的upload目录中
高可用集群下的负载均衡(5):haproxy的动静分离与读写分离相关推荐
- 高可用集群下的负载均衡(8):pacemaker + corosync + haproxy 实现高可用
实验环境 server1 和 server2 是调度器,server3 和 server4 是服务器 [1]调度器server1 server2 关闭 keepalived 和 httpd,并打开pc ...
- 高可用集群下的负载均衡(7):haproxy + keepalived 实现高可用负载均衡
实验环境 server1 和 server2 是调度器,server3 和 server4 是服务器 一.调度器中进行配置 haproxy+keepalived server1 与server2 均要 ...
- 高可用集群下的负载均衡(6):haproxy实现访问不同资源的负载均衡(日志、监控、acl访问控制的配置)
8.7am 2 1.haproxy的日志管理 [1]修改日至配置文件 [root@server2 haproxy]# pwd /etc/haproxy [root@server2 haproxy]# ...
- 运维企业专题(11)RHCS高可用集群下MySql数据库与共享磁盘(单点写入、多点写入)的设置
实验环境 主机名 IP 服务 server1 172.25.6.1 ricci,luci, iscsi,mysql-server server2 172.25.6.2 ricci,iscsi,mysq ...
- Hadoop高可用集群下namenode格式化失败问题解决
Hadoop高可用集群下namenode格式化失败问题解决 输入hdfs namenode -format报如下错误 解决方法: 1.在zookeeper目录下执行./bin/zkServer.sh ...
- K8S高可用集群架构部署 dashborad插件部署 Nginx实现动静分离 K8S在线升级
K8S官方文档 注意:该集群每个master节点都默认由kubeadm生成了etcd容器,组成etcd集群.正常使用集群,etcd的集群不能超过一半为down状态. docker的namespace: ...
- linux系统下对网站实施负载均衡+高可用集群需要考虑的几点
随着linux系统的成熟和广泛普及,linux运维技术越来越受到企业的关注和追捧.在一些中小企业,尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案. 那么如何实 ...
- LVS+Keepalived-DR模式负载均衡高可用集群
LVS+Keepalived DR模式负载均衡+高可用集群架构图 工作原理: Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能. VRRP,虚拟路由冗余协议,是针对路由器的 ...
- 负载均衡集群、高可用集群详解,DR、NAT超详细搭建步骤
集群概述 流量相关: PV:PV(page view)即页面浏览量或点击量,是衡量一个网站或网页用户访问量.具体的说,PV值就是所有访问者在24小时(0点到24点)内看了某个网站多少个页面或某 ...
最新文章
- Error Creating Control when creating a custom control
- 【每日DP】day4 P1417 烹调方案(奇怪的01背包增加了)难度⭐⭐⭐
- linux新建用户代码,Linux_用dsadd添加用户的代码,描述: 此工具命令将一些具体 - phpStudy...
- 【译】介绍 Consul 新的学习平台和新资源:Kubernetes, AWS Cloud Map 及更多
- python守护进程_让Python脚本成为守护进程
- CISCO、JUNIPER网络技术训练中心ITAA等级四(RS)学习计划蓝图(version 1.0)
- Codeforces Round #224 (Div. 2): C. Arithmetic Progression(模拟)
- 1400协议是什么和28181区别_gb28181协议常见流程简析
- 【读过的书】《从你的全世界路过》
- Xilinx FPGA 编程技巧之常用时序约束详解
- 如何批量下载央视CNTV的节目视频
- mongodb mysql数据类型_插入mongodb类型
- Fragment被replace时重复加载数据的问题
- mac字体或windows字体安装到linux,解决linux服务器word文档生成pdf文档出现乱码
- 端智能助力西瓜视频业务实践
- CxImage学习使用1:环境搭建
- 【备忘】传智播客ios第五期
- Symantec Backup Exec Agent For Linux防火墙问题
- sqlite3出现SQLITE_BUSY错误码的原因以及解决方法
- php怎么切取部分歌曲,怎么把歌曲里的某一段剪切出来-歌曲怎么剪切,音频剪切软件...