linux中lvs+nginx搭建

本文详细介绍了一个基于IPVS的负载均衡部署方案,通过配置IPVSadm工具实现服务分发,并利用Nginx作为后端服务器。文章包括安装配置步骤、调度算法设置及验证过程。

规划:
节点1:192.168.200.100
节点2:192.168.200.101
节点3:192.168.200.102

节点1:192.168.200.100

#安装Ipvsadm内核管理工具
yum install -y ipvsadm
#添加vip
ip a a 192.168.200.200/28 dev ens33
#添加对外提供的服务ip
ipvsadm -A -t 192.168.200.200:80 -s rr
#[参数说明]
    -A  添加规则
    -t  TCP 指定分发器VIP
    -s  指定调度算法
    rr  代表轮询round-robin
#在虚拟服务器中添加后端服务器
ipvsadm -a -t 192.168.200.200:80 -r 192.168.200.101:80 -g
ipvsadm -a -t 192.168.200.200:80 -r 192.168.200.102:80 -g
#[参数说明]
    -a  添加real-server地址
    -r  指定real-server地址
    -m  以NAT模式分配
    -g  以DR模式分配
    -w  指定权值
#查看规则
ipvsadm -ln

在这里插入图片描述节点2:192.168.200.101

#安装nginx
yum -y install nginx
systemctl start nginx
systemctl enable nginx
#备份原有默认页面
mv /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.bak

#创建新字段
echo "This is PACS-web1 192.168.200.101" > /usr/share/nginx/html/index.html
#关闭ARP宣告,和ARP转发,这里有两种方法,临时关闭与永久关闭.
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore 
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
#[永久关闭]
[root@localhost ~]# vim /etc/sysctl.conf

net.ipv4.conf.ens32.arp_ignore=1
net.ipv4.conf.ens32.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
#加载生效
[root@localhost ~]# sysctl -p
#添加vip
ip a a 192.168.200.200/28 dev ens33

节点3:192.168.200.102

yum -y install nginx
systemctl start nginx
systemctl enable nginx
#备份原有默认页面
mv /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.bak

echo "This is PACS-web2 192.168.200.102" > /usr/share/nginx/html/index.html
#关闭ARP宣告,和ARP转发,这里有两种方法,临时关闭与永久关闭.
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore 
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
#[永久关闭]
[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.conf.ens32.arp_ignore=1
net.ipv4.conf.ens32.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
#添加vip
ip a a 192.168.200.200/28 dev ens33

验证:
本次搭建使用虚拟机部署,采用nat模式配置网卡因此在cmd中访问效果正常
在这里插入图片描述

### 使用 LVSNginx 构建负载均衡与高可用架构 #### 1. 基本概念介绍 LVSLinux Virtual Server),由章文嵩博士主导开发并已集成至 Linux 内核中的开源负载均衡解决方案[^1],能够提供高效的第四层流量分发能力。而 Nginx 则是一个轻量级的 HTTP 反向代理服务器以及第七层负载均衡器,擅长处理静态文件、索引页面等任务。 两者结合可以构建起强大的 Web 应用服务框架:一方面利用 LVS 的高效转发性能;另一方面借助于 Nginx 对应用层协议的支持特性,从而实现更灵活的服务部署方案[^2]。 #### 2. 实现方式概述 为了达到最佳效果,在实际操作过程中通常会采取如下策略: - **前端入口**:设置一台或多台运行有 LVS 组件的机器作为整个系统的唯一对外接口; - **中间层反代**:之后再经过一组安装了 Nginx 的节点继续做进一步的内容过滤和服务路由决策; - **后端业务逻辑单元**:最后才是承载具体应用程序的工作主机群集。 这种多级联结构不仅提高了整体吞吐率还增强了系统的稳定性和安全性。 #### 3. 安装配置指南 ##### 步骤 A: 准备环境 确保所有参与此项目的计算机都具备良好的网络连接状态,并完成必要的软件包更新升级工作。 ##### 步骤 B: 配置 LVS 编辑 `/etc/sysconfig/ipvsadm` 文件定义虚拟IP地址池及其对应的RS列表: ```bash # 添加一条新的规则指向真实服务器组 ipvsadm -A -t VIP_ADDRESS:PORT -s rr # 向上述创建的服务添加多个成员(即真实的WebServer) ipvsadm -a -t VIP_ADDRESS:PORT -r REAL_SERVER_IP:PORT -g ``` 此处 `-s rr` 表示采用轮询算法分配请求给不同的 RS ,而 `-g` 参数意味着启用直接路由模式(DR)[^4]。 ##### 步骤 C: 设置 Nginx 修改位于 `/etc/nginx/conf.d/default.conf` 中的相关参数以适应当前场景需求: ```nginx upstream backend { server BACKEND_SERVER_1; server BACKEND_SERVER_2; } server { listen FRONT_PORT; location / { proxy_pass http://backend; } } ``` 这里 `BACKEND_SERVER_X` 是指那些被指定用来响应客户端查询的实际 web servers 地址。 ##### 步骤 D: 测试验证 启动/重启相关组件后即可开始测试新建立起来的服务链路是否正常运作。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睡不醒的猪儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值