linux 使用负载均衡技术分散请求
2025-05-25 10:09:07
28
参考资料
linux 使用负载均衡技术分散请求
Linux 使用负载均衡技术分散请求(详细操作示例)
1. Nginx 负载均衡配置
Nginx 是一个高性能的 HTTP 反向代理服务器,支持多种负载均衡算法(轮询、权重、IP Hash)。
(1)安装 Nginx
# Ubuntu/Debian sudo apt update sudo apt install nginx -y # CentOS/RHEL sudo yum install epel-release -y sudo yum install nginx -y
(2)配置负载均衡
编辑 Nginx 配置文件 /etc/nginx/nginx.conf
或 /etc/nginx/conf.d/loadbalancer.conf
:
http { upstream backend { # 轮询(默认) server 192.168.1.101:80; server 192.168.1.102:80; # 加权轮询(weight 越高,分配请求越多) # server 192.168.1.101:80 weight=3; # server 192.168.1.102:80 weight=1; # IP Hash(同一客户端固定访问同一后端) # ip_hash; } server { listen 80; server_name loadbalancer.example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } }
(3)检查并重启 Nginx
sudo nginx -t # 检查配置是否正确 sudo systemctl restart nginx
2. LVS(Linux Virtual Server)负载均衡
LVS 是 Linux 内核级别的负载均衡,支持 NAT/DR/TUN 模式。
(1)安装 LVS
# Ubuntu/Debian sudo apt install ipvsadm -y # CentOS/RHEL sudo yum install ipvsadm -y
(2)配置 LVS-NAT 模式
假设:
负载均衡器(LVS 服务器):192.168.1.100
后端服务器 1:192.168.1.101
后端服务器 2:192.168.1.102
# 启用 IP 转发 echo 1 > /proc/sys/net/ipv4/ip_forward # 添加虚拟服务(VIP) ipvsadm -A -t 192.168.1.100:80 -s rr # rr 表示轮询 # 添加后端服务器 ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.101:80 -m # -m 表示 NAT 模式 ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.102:80 -m # 查看规则 ipvsadm -Ln
(3)测试
客户端访问 192.168.1.100:80
,LVS 会自动将请求分发到后端服务器。
3. HAProxy 负载均衡
HAProxy 是一个高性能的 TCP/HTTP 负载均衡器,支持健康检查。
(1)安装 HAProxy
# Ubuntu/Debian sudo apt install haproxy -y # CentOS/RHEL sudo yum install haproxy -y
(2)配置 HAProxy
编辑 /etc/haproxy/haproxy.cfg
:
frontend http_front bind *:80 default_backend http_back backend http_back balance roundrobin # 轮询 server server1 192.168.1.101:80 check # check 表示健康检查 server server2 192.168.1.102:80 check # 加权轮询 # server server1 192.168.1.101:80 weight 3 check # server server2 192.168.1.102:80 weight 1 check
(3)启动 HAProxy
sudo systemctl restart haproxy
4. Keepalived 实现高可用
Keepalived 可以防止单点故障,配合 VRRP 协议实现 VIP 漂移。
(1)安装 Keepalived
# Ubuntu/Debian sudo apt install keepalived -y # CentOS/RHEL sudo yum install keepalived -y
(2)配置 Keepalived
编辑 /etc/keepalived/keepalived.conf
mongo-express,详细简介,特点,最新更新内容以及时间,镜像下载地址,官网地址,阅读的文档地址,docker安装示例,.yarl设置教程,常用错误问题