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

一、基于CentOS7和、构建LVS-DR群集

准备四台虚拟机

ip 作用
192.168.27.150 客户端
192.168.27.151 LVS
192.168.27.152 RS
192.168.27.152 RS

关闭防火墙

python 复制代码
[root@localhost ~]# systemctl stop firewalld

安装ifconfig

python 复制代码
yum install net-tools.x86_64 -y

1、DS上

1.1 配置LVS虚拟IP
python 复制代码
安装ipvsadm
yum install ipvsadm -y
 
增加IP
ifconfig ens33:200 192.168.27.200 netmask 255.255.255.255 up
1.2 手工执行配置添加LVS服务并增加两天RS
python 复制代码
[root@localhost ~]# ipvsadm -C
[root@localhost ~]# ipvsadm -A -t 192.168.27.200:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.27.200:80 -r 192.168.27.151:80 -g
[root@localhost ~]# ipvsadm -a -t 192.168.27.200:80 -r 192.168.27.152:80 -g

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

2.1 配置WEB服务器
python 复制代码
yum install httpd -y

2.2 配置默认主页

python 复制代码
hostname -I 取地址
 
[root@backup ~]# echo "web test page, ip is `hostname -I`." > /var/www/html/index.html

2.3 启动服务

python 复制代码
[root@backup ~]# systemctl start httpd

2.4 测试:在客户端访问WEB服务器

python 复制代码
[root@localhost ~]# curl 192.168.27.147
web test page, ip is 192.168.27.147 .
[root@localhost ~]# curl 192.168.27.148
web test page, ip is 192.168.27.148 .

2.5 绑定VIP

python 复制代码
ifconfig lo:200 192.168.27.200 netmask 255.255.255.255 up

2.6 配置主机路由

python 复制代码
route add -host 192.168.27.200 dev lo

2.7 抑制ARP响应

python 复制代码
调整内核参数,关闭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

二、配置nginx负载均衡

环境准备

python 复制代码
主机名 ip地址        作用
node1 192.168.27.140 负载均衡服务器
node2 192.168.27.141 Web服务器
node3 192.168.27.142 Web服务器

配置

1、配置主机文件vhost.conf

python 复制代码
[root@node1 ~]# vim /etc/nginx/conf.d/vhost.conf
	upstream web_pools {
      server 192.168.27.141:80;
      server 192.168.27.142:80;
	}
	server {
      listen 80;
      server_name www1.ming.com;
 
      location / {
        proxy_pass http://web_pools;
      }
}
解释:proxy_pass 是反向代理

2、检查语法并重启服务

python 复制代码
#检查语法是否正确
[root@node1 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

#重启服务
[root@node1 ~]# systemctl restart nginx

3、配置hosts文件

python 复制代码
#在linux中修改
[root@node1 ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.27.140 www1.ming.com
#测试
[root@node1 ~]# for((i=1;i<=4;i++))
> do
> curl www1.ming.com
> done
web test page,ip is 192.168.27.141 
web test page ,ip is 192.168.27.142 
web test page,ip is 192.168.27.141 
web test page ,ip is 192.168.27.142 
相关推荐
全栈工程师修炼指南4 小时前
Nginx | stream content 阶段:UDP 协议四层反向代理浅析与实践
运维·网络·网络协议·nginx·udp
鹏北海5 小时前
micro-app 微前端项目部署指南
前端·nginx·微服务
全栈工程师修炼指南5 小时前
Nginx | stream content 阶段:TCP 协议四层反向代理浅析与实践
运维·网络·网络协议·tcp/ip·nginx
予枫的编程笔记6 小时前
【Linux入门篇】Ubuntu和CentOS包管理不一样?apt与yum对比实操,看完再也不混淆
linux·人工智能·ubuntu·centos·linux包管理·linux新手教程·rpm离线安装
匀泪7 小时前
云原生(LVS NAT模式集群实验)
服务器·云原生·lvs
森焱森7 小时前
详解 Spring Boot、Flask、Nginx、Redis、MySQL 的关系与协作
spring boot·redis·python·nginx·flask
954L7 小时前
CentOs7执行yum update出现链接404问题
linux·centos·yum·vault
考琪8 小时前
Nginx打印变量到log方法
java·运维·nginx
消失的旧时光-19438 小时前
Nginx 是什么?为什么它不写在代码里?——从 0 认识 Nginx
运维·服务器·nginx
不像程序员的程序媛18 小时前
Nginx日志切分
服务器·前端·nginx