haproxy+httpd网站架构,实现负载均衡实验笔记

前提准备:

  1. 两台httpd,一台haproxy,NFS部署在任意一台httpd上
  2. http1:192.168.180.110
  3. http2:192.168.180.120,NFS
  4. haproxy:192.168.180.100

http(两台httpd的操作是一样的):

  1. 安装httpd
bash 复制代码
yum install -y httpd

2.分别编写网页

bash 复制代码
echo "server1 192.168.180.110" > /var/www/html/index.html
echo "server2 192.168.180.120" > /var/www/html/index.html
  1. 开启httpd
bash 复制代码
systemctl start httpd
  1. 关闭防火墙
bash 复制代码
systemctl stop firewalld
setenforce 0

haproxy:

  1. 安装haproxy(通过源码包安装)
bash 复制代码
yum install -y gcc gcc-c++ make lrzsz
tar zxf haproxy-2.9.9.tar.gz
cd haproxy-2.9.9
make TARGET=linux-glibc && make install
  1. 移动主配置文件
bash 复制代码
mkdir /etc/haproxy
cp addons/ot/test/sa/haproxy.cfg /etc/haproxy/
  1. 修改主配置文件
bash 复制代码
vim /etc/haproxy/haproxy.cfg
将端口改为8080

注释

添加内容
frontend http_front
        bind *:80
                 default_backend servers-backend

backend servers-backend
    mode http
    server inst1 192.168.180.110:80 check inter 80 fall 3
    server inst2 192.168.180.120:80 check inter 80 fall 3 backup
  1. 创建自启动脚本
bash 复制代码
cp ~/haproxy-2.9.9/examples/haproxy.init /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
chmod +x /etc/init.d/haproxy
chkconfig --add /etc/init.d/haproxy
/etc/init.d/haproxy start
  1. 关闭防火墙
bash 复制代码
systemctl stop firewalld
setenforce 0

NFS-192.168.180.120:

  1. 在httpd上均安装
bash 复制代码
yum install -y nfs-utils rpcbind
  1. 创建共享目录
bash 复制代码
mkdir -p /opt/wwwroot
vim /etc/exports
/opt/wwwroot    192.168.180.0/24(rw,sync,no_root_squash)
  1. 分别启动
bash 复制代码
systemctl start nfs
systemctl start rpcbind
  1. 查看NFS共享了什么目录
bash 复制代码
showmount -e 192.168.180.120
  1. http均挂载NFS共享目录
bash 复制代码
mount 192.168.180.120:/opt/wwwroot /var/www/html/
  1. 创建测试页面
bash 复制代码
echo "http-NFS" > /opt/wwwroot/index.html
  1. 访问测试
相关推荐
Brilliantwxx1 小时前
【C++】 继承与多态(中)
开发语言·c++·笔记·算法
MY_TEUCK7 小时前
【2026最新Python+AI学习基础】Python 入门笔记篇
笔记·python·学习
面向Google编程9 小时前
从零学习Kafka:消费者组重平衡
大数据·kafka·负载均衡
TDengine (老段)10 小时前
TDengine RAFT共识协议 — 选举、日志复制、快照与仲裁
android·大数据·数据库·物联网·架构·时序数据库·tdengine
原来是不二啊10 小时前
f5学习笔记
负载均衡·f5
码云之上10 小时前
万星入坞:我们如何用三层插件体系干掉巨石应用
前端·架构·前端框架
kyriewen10 小时前
一口气讲清楚 Monorepo、Turborepo、pnpm、Changesets 到底是什么?
前端·架构·前端工程化
nnsix12 小时前
设计模式 - 模板方法模式 笔记
笔记·设计模式·模板方法模式
zzmgc412 小时前
纯静态 + Web Worker + 虚拟滚动:我是怎么让浏览器吃下 10MB JSON 不卡的
前端·架构
星辰_mya12 小时前
彩云之上——[特殊字符]的架构师
java·后端·微服务·面试·架构