参考资料

  1. load average过高怎么解决
  2. linux 使用负载均衡技术分散请求
  3. 如何解决linux系统平均负载高
  4. 负载状态(load average)是衡量系统工作量的指标
  5. 负载监控工具列表
  6. 宝塔面板计划任务脚本文件放在哪里
  7. load average多少是正常
  8. 负载状态(load average)中的数据代表了什么?

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设置教程,常用错误问题