负载均衡搭建

LVS-DR部署

powershell 复制代码
[客户端]
node1
192.168.157.148
[lvs]
node2
192.168.157.142
[web服务器]
node3
192.168.157.145
node4
192.168.157.146
powershell 复制代码
(1)[lvs]
yum install -y ipvsadm.x86_64
配置LVS负载均衡服务
(1)手动添加LVS转发
  1)用户访问:www.uolookking.com-->vip 192.168.157.200   ##==>这个是在DNS配置
  没有配置DNS可以使用hosts文件配置方式来实现域名解析。
  192.168.157.200 www.hzitedu.com
  2)配置LVS虚拟IP(VIP)
  [root@localhost ~]# ifconfig ens33:200 192.168.157.200/24 
  
(2)[web服务器:node3,node4]
  (1)安装配置http服务
  (2) 绑定vip(192.168.157.200)
  	   systemctl restart network重启网络服务
       node3: 
       创建环回接口
       [root@localhost ~]# ifconfig lo:200 192.168.157.200 netmask 255.255.255.255 up
		添加本机访问VIP的路由
	   [root@RS1 ~]# route add -host 192.168.157.200 dev lo

       node4:
  	   创建环回接口
       [root@localhost ~]# ifconfig lo:200 192.168.157.200 netmask 255.255.255.255 up
		添加本机访问VIP的路由
	   [root@RS1 ~]# route add -host 192.168.157.200 dev lo
  (3) 手工在RS端抑制ARP响应
 		 每台real server端执行
		调整内核参数,关闭arp响应
		 node3: 
		[root@RS1 ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
		[root@RS1 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
		[root@RS1 ~]# echo "1" > /proc/sys/net/ipv4/conf/ens33/arp_ignore (/ens33/arp_ignore此处写RS使用的网卡)
		[root@RS1 ~]# echo "2" > /proc/sys/net/ipv4/conf/ens33/arp_announce(/ens33/arp_announce此处写RS使用的网卡)
		
(3)[lvs]
	手工执行配置添加LVS服务并增加两台RS
	[root@localhost ~]# ipvsadm -A -t 192.168.157.200:80 -s rr
    [root@localhost ~]# ipvsadm -a -t 192.168.157.200:80 -r 192.168.157.145:80 -g
    [root@localhost ~]# ipvsadm -a -t 192.168.157.200:80 -r 192.168.157.146:80 -g
	[删除方法]
	# ipvsadm -D -t 192.168.79.110:80 -s wrr
	# ipvsadm -d -t 192.168.79.110:80 -r 192.168.79.118:80
	[相关参数说明]
	[root@Directory ~]# ipvsadm --help
	-A 添加虚拟服务器
	-t 设置群集地址(VIP,Virtual IP)
	-s 指定负载调度算法
    -a 添加真实服务器
    -d 删除真实服务器
    -r 指定真实服务器(Real Server)的地址
    -m 使用NAT模式;-g、-i分别对应DR、TUN模式
    -w 为节点服务器设置权重,默认为1
    [root@Directory ~]# ipvsadm --Ln
    查看负载均衡

nginx负载均衡

配置

powershell 复制代码
[client]
node1

[service:nginx]
node2
#安装nginx做负载均衡

[web]
node3
node4
powershell 复制代码
#vim /etc/nginx/conf.d/vhost.conf
[service:nginx]
upstream pools {
        server 192.168.157.145:80 weight=1;
        server 192.168.157.146:80 weight=1;
}

server {
        listen       80;
        server_name  www.pool.com;

        location / {
        proxy_pass http://pools;

        }
        access_log /usr/share/nginx/logs/node4/access_pool.log ;
        error_log  /usr/share/nginx/logs/node4/access_pool_error.log ;
    }
####################################################
Nginx做负载均衡访问网页时报错:HTTP Status 400 -- 错误的请求
可能原因:
根据浏览器报错的提示消息,意思为:在一个域名中使用字符"_"是不正确的;
原来问题出在了nginx主配置文件中给后端tomcat服务器池起的名字上,不支持下划线
powershell 复制代码
[web]
使用http服务
[node3]
[root@localhost ~]# cat /var/www/html/index.html 
 node3 
 
[node4]
[root@localhost ~]# cat /var/www/html/index.html 
node4
powershell 复制代码
[client]
#vim /etc/hosts
192.168.157.142 www.node3.com www.node4.com www.pool.com
(添加域名)

结果:

相关推荐
程序员清风7 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
readhere8 小时前
从ZYNQ7000开发板,学会启动嵌入式Linux系统——入门学习:EBAZ4205篇目录
linux·启动·嵌入式linux·zynq7000·ebaz4205
打工仔折腾 AI9 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
yyuuuzz9 小时前
跨境站点日志时区混乱的排查记录
运维·服务器·网络·云计算·aws·1024程序员节
‎ദ്ദിᵔ.˛.ᵔ₎9 小时前
关于Linux 线程局部存储的认识
linux·运维
数字新视界11 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
运维行者_11 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
小小de风呀11 小时前
de风——【从零开始学习Linux】(九):进程基础 —— 从冯诺依曼体系到 fork 创建进程
linux·学习
2401_8685347811 小时前
陈冲2026年上海纽约大学全英文毕业演讲
服务器·网络