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

基于 CentOS 7 构建 LVS-DR 群集。

关闭防火墙

[root@localhost ~]# systemctl stop firewalld

安装ifconfig

yum install net-tools.x86_64 -y

准备四台虚拟机

IP 用途

19.168.244.144 客户端

192.168.244.145 lvs

192.168.244.148 RS

192.168.244.149 RS

在DS上

配置LVS虚拟IP

安装ipvsadm

yum install ipvsadm -y

增加IP

ifconfig ens33:200 192.168.244.200 netmask 255.255.255.255 up

手工执行配置添加LVS服务并增加两台RS

[root@localhost ~]# ipvsadm -C

[root@localhost ~]# ipvsadm -A -t 192.168.244.200:80 -s rr

[root@localhost ~]# ipvsadm -a -t 192.168.244.200:80 -r 192.168.226.151:80 -g

在RS端(第三台、第四台) 上

配置Web服务器

yum install httpd -y

配置默认主页

hostname -I 取地址

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

启动服务

[root@backup ~]# systemctl start httpd

绑定VIP

ifconfig lo:200 192.168.244.200 netmask 255.255.255.255 up

配置主机路由

route add -host 192.168.244.200 dev lo

抑制ARP响应

调整内核参数,关闭arp响应

echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

在客户端上测试

[root@localhost ~]# for ((i=1;i<=6;i++)); do curl 192.168.244.200; done

web test page,ip is 192.168.244.148

web test page,ip is 192.168.244.149

web test page,ip is 192.168.244.148

web test page,ip is 192.168.244.149

配置nginx负载均衡。

安装部署nginx

内网服务器145

[root@localhost ~]# vim /etc/nginx/conf.d/vhost.conf

server {

listen 80;

server_name web1.yunjisuan.com;

location / {

root /usr/share/nginx/html/web1;

index index.html index.htm;

}

access_log /usr/share/nginx/html/web1/logs/access_bbs.log main;

}

[root@localhost ~]# mkdir -p /usr/share/nginx/html/web1/logs

[root@localhost ~]# echo "`hostname -I `web1" > /usr/share/nginx/html/web1/index.html

[root@localhost ~]# nginx -t

[root@localhost ~]# systemctl restart nginx

内网服务器148

[root@localhost ~]# vim /etc/nginx/conf.d/vhost.conf

server {

listen 80;

server_name web1.yunjisuan.com;

location / {

root /usr/share/nginx/html/web1;

index index.html index.htm;

}

access_log /usr/share/nginx/html/web1/logs/access_bbs.log main;

}

[root@localhost ~]# mkdir -p /usr/share/nginx/html/web1/logs

[root@localhost ~]# echo "`hostname -I `web1" > /usr/share/nginx/html/web1/index.html

[root@localhost ~]# nginx -t

[root@localhost ~]# systemctl restart nginx

内网服务器144

[root@localhost ~]# vim /etc/nginx/conf.d/lb_test.conf

upstream www_server_pools {

server 192.168.244.145:80 weight=1;

server 192.168.244.148:80 weight=1;

}

server {

listen 80;

server_name web1.haha.com;

location / {

proxy_pass http://www_server_pools;

proxy_set_header Host $host;

}

}

客户端

[root@localhost ~]# vim /etc/hosts

[root@localhost ~]# for ((i=1;i<=6;i++)); do curl web1.haha.com; done

192.168.244.148 web1

192.168.244.145 web1

192.168.244.148 web1

相关推荐
likfishdn9 分钟前
Linux的文件与目录管理
linux·运维·服务器
chian-ocean29 分钟前
Linux 文件缓冲区:高效数据访问的幕后推手
linux·运维·服务器
加油=^_^=31 分钟前
【Linux】进程优先级 | 进程调度(三)
linux·运维·服务器
吃汤圆的抹香鲸1 小时前
GoLand 安装包 绿色版 Win,Mac,Linux 包含IntelliJ全家桶 专为Go语言设计的集成开发环境(IDE)
linux·windows·macos·go·intellij-idea·go1.19
追寻光1 小时前
Cannot find a valid baseurl for repo: base/7/x86_64
linux
元气满满的热码式1 小时前
Docker数据卷操作实战
linux·运维·docker·云原生·容器
陆沙1 小时前
deepseek-r1-centos-本地服务器配置方法
linux·服务器·centos
北京耐用通信1 小时前
航空装配自动化神器Ethercat转profient网关搭配机器人精准控制
运维·机器人·自动化
吃汤圆的抹香鲸2 小时前
Rider 安装包 绿色版 Win/Mac/Linux 适合.NET和游戏开发者使用 2025全栈开发终极指南:从零配置到企业级实战
linux·运维·windows·sql·游戏·macos·.net
sz66cm2 小时前
Linux基础 -- ARM 32 位架构动态注入代码技术文档
linux·arm开发·架构