数码教程网
柔彩主题三 · 更轻盈的阅读体验

负载均衡部署步骤:像做菜一样简单上手

发布时间:2025-12-10 19:02:48 阅读:365 次

家里做饭讲究火候均匀,炖一锅汤要是火力忽大忽小,味道就难说了。服务器也一样,访问量一大,单台机器扛不住,就得靠负载均衡来‘分锅炒菜’,让每台服务器都吃得饱又不撑着。

准备阶段:理清你的‘厨房设备’

在动手前,先看看你有哪些服务器资源。比如你有三台Web服务器,IP分别是192.168.1.10、192.168.1.11、192.168.1.12。再准备一台专门做调度的机器,装上Nginx或者HAProxy,它就像厨房里的主厨,负责把订单(请求)合理分配给各个灶台(服务器)。

安装并配置Nginx作为负载均衡

登录到调度服务器,用yum或apt安装Nginx:

sudo apt update
sudo apt install nginx

编辑Nginx配置文件,一般位于/etc/nginx/sites-available/default,加入以下内容:

upstream backend {
    server 192.168.1.10;
    server 192.168.1.11;
    server 192.168.1.12;
}

server {
    listen 80;

    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

这段配置的意思是:所有进来的请求,由Nginx按默认轮询方式转发给后端三台服务器。

选择合适的分发策略

就像炒青菜要猛火快炒,处理用户登录可能得保证同一人总连到同一台机器。这时候可以用ip_hash,让同一个IP始终访问同一后端:

upstream backend {
    ip_hash;
    server 192.168.1.10;
    server 192.168.1.11;
    server 192.168.1.12;
}

如果某台服务器性能更强,能多干活,还可以加权重:

upstream backend {
    server 192.168.1.10 weight=2;
    server 192.168.1.11;
    server 192.168.1.12;
}

这样第一台会收到大约一半的请求,其余两台平分另一半。

测试与上线

改完配置别急着重启,先检查语法有没有错:

sudo nginx -t

没问题后再重载服务:

sudo systemctl reload nginx

接着从外部访问你的公网IP,刷新几次页面,查看各台后端服务器的日志,确认请求确实被分散处理了。

加上健康检查,避免‘坏灶台’影响出餐

万一某台服务器挂了,还往它转发请求,用户就会看到错误。Nginx Plus支持主动健康检查,开源版可以通过脚本配合实现。比如写个简单脚本定时请求每个后端的/health接口,发现不通就临时从配置中移除。

也可以换用HAProxy,原生支持更丰富的健康检测机制,适合对稳定性要求更高的场景。

域名和SSL也不能少

用户不会记IP,得绑个域名。在DNS里把yourapp.com指向Nginx服务器的公网IP。然后用Let's Encrypt免费申请证书:

sudo certbot --nginx -d yourapp.com

之后Nginx会自动配置HTTPS,用户访问更安全,浏览器也不报警告了。