基于 CentOS 7 构建 LVS-DR 集群 及 配置nginx负载均衡

一、构建LVS-DR集群

1、主机规划

Node01:PC

Node02:LVS

Node03、Node04:Webserver

2、部署环境

2.1 在Node02上配置

2.1.1 安装ipvsadm管理软件按

bash 复制代码
[root@localhost ~]# yum install -y ipvsadm

2.1.2 配置VIP

bash 复制代码
[root@localhost ~]# ifconfig ens33:200 192.168.100.200 netmask 255.255.255.255

[root@localhost ~]# ip ad
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.100.200/32 brd 192.168.100.255 scope global secondary ens33:200
       valid_lft forever preferred_lft forever
    

2.2 在Node03上配置

2.2.1 安装Apache服务

bash 复制代码
[root@localhost ~]# yum install -y httpd

2.2.2 编辑默认主页

bash 复制代码
[root@localhost ~]# echo "Web test page, ip is `hostname -I`." > /var/www/html/index.html

[root@localhost ~]# systemctl start httpd.service

2.3 在Node04配置

2.3.1 安装Apache服务

bash 复制代码
[root@localhost ~]# yum install -y httpd

2.3.2 编辑默认主页

bash 复制代码
[root@localhost ~]# echo "Web test page, ip is `hostname -I`." > /var/www/html/index.html

[root@localhost ~]# systemctl start httpd.service

2.4 在Node01上测试

bash 复制代码
[root@localhost ~]# curl 192.168.100.5
Web test page, ip is 192.168.100.5 .

[root@localhost ~]# curl 192.168.100.6
Web test page, ip is 192.168.100.6 .

3、绑定VIP

3.1 在Node03上配置

bash 复制代码
[root@localhost ~]# ifconfig lo:200 192.168.100.200 netmask 255.255.255.255 up

[root@localhost ~]# route add -host 192.168.100.200 dev lo

3.2 在Node04行配置

bash 复制代码
[root@localhost ~]# ifconfig lo:200 192.168.100.200 netmask 255.255.255.255 up

[root@localhost ~]# route add -host 192.168.100.200 dev lo

4、ARP抑制

4.1 在Node03上配置

bash 复制代码
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/ens33/arp_ignore
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/ens33/arp_announce

4.2 在Node04行配置

bash 复制代码
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/ens33/arp_ignore
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/ens33/arp_announce

5、在LVS(Node02)上添加RS

bash 复制代码
[root@localhost ~]# ipvsadm -A -t 192.168.100.200:80 -s rr

[root@localhost ~]# ipvsadm -a -t 192.168.100.200:80 -r 192.168.100.5:80 -g

[root@localhost ~]# ipvsadm -a -t 192.168.100.200:80 -r 192.168.100.6:80 -g

6、在PC(Node01)上进行测试

bash 复制代码
[root@localhost ~]# for ((i=1;i<=6;i++)); do curl 192.168.100.200; done

Web test page, ip is 192.168.100.6 .
Web test page, ip is 192.168.100.5 .
Web test page, ip is 192.168.100.6 .
Web test page, ip is 192.168.100.5 .
Web test page, ip is 192.168.100.6 .
Web test page, ip is 192.168.100.5 .

二、配置nginx负载均衡

1、部署环境

1.1 在Node03上配置

bash 复制代码
[root@localhost ~]# yum install -y httpd

[root@localhost ~]# echo "Web test page, ip is `hostname -I`." > /var/www/html/index.html

1.2 在Node04上配置

bash 复制代码
[root@localhost ~]# yum install -y httpd

[root@localhost ~]# echo "Web test page, ip is `hostname -I`." > /var/www/html/index.html

2、Node02 配置虚拟主机

2.1 编辑配置文件

bash 复制代码
[root@localhost ~]# cd /etc/nginx/conf.d/

[root@localhost conf.d]# vim vhost.conf
server{
  listen 80;
  server_name www1.openlab.cn;

  location / {
    proxy_pass http://192.168.100.5;
  }
}

server{
  listen 80;
  server_name www2.openlab.cn;

  location / {
    proxy_pass http://192.168.100.6;
  }
}
bash 复制代码
[root@localhost conf.d]# vim lb.conf
upstream www_pools {
  server 192.168.100.5:80 weight=1;
  server 192.168.100.6:80 weight=2;
}

server {
  listen 80:
  server_name www.yunjisun.com;

  location / {
  proxy_pass http://www_server_pools;
  }
}

2.2 启动nginx

bash 复制代码
[root@localhost ~]# systemctl start nginx

3、PC端(Node01)测试

bash 复制代码
[root@localhost ~]# for ((i=1;i<=9;i++)); do curl http://www.yunjisuan.com; done
相关推荐
SakitamaX10 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
AAA@峥12 小时前
CentOS7 源码编译安装 MySQL5.7|SQL 基础操作 + 备份恢复完整实战
运维·数据库·sql·centos
BullSmall14 小时前
CentOS7 阿里云 PG 镜像 PG10.9 → PG17 完整升级指南
阿里云·postgresql·centos
Kina_C20 小时前
LVS-NAT 负载均衡实验从环境搭建到规则持久化
linux·运维·服务器·负载均衡·lvs
Dear~yxy21 小时前
LVS的12种调度算法
lvs
Kina_C1 天前
LVS-DR 模式负载均衡实战从原理到部署与验证
linux·运维·服务器·负载均衡·lvs
郝亚军2 天前
使用Vue 3和Nginx打包和部署Vue.js项目的一般步骤
前端·vue.js·nginx
xuefeiniao2 天前
CentOS + 宝塔服务器偶发 SSH、面板、网站全部无法访问排查记录(PHP-FPM 内存耗尽案例)
服务器·centos·ssh·php
FoldWinCard2 天前
云原生 --- lvs
运维·服务器·lvs