当前位置:首页 > 服务器技术 > 正文

Nginx负载均衡高可用实战指南(从小白到部署)

在现代 Web 应用中,单台服务器往往难以应对高并发访问。为了提升系统性能与稳定性,Nginx 负载均衡高可用架构成为关键解决方案。本文将手把手教你搭建一个具备高可用能力的 Nginx 负载均衡环境,即使你是初学者也能轻松上手!

什么是 Nginx 负载均衡?

Nginx 是一款高性能的 Web 服务器和反向代理服务器。通过其负载均衡功能,可以将用户请求分发到多个后端服务器(如应用服务器),从而避免单点过载,提高整体系统的吞吐量和可靠性。

为什么需要高可用?

如果只有一台 Nginx 作为负载均衡器,一旦它宕机,整个服务就会中断。因此,我们需要部署多台 Nginx并配合 Keepalived 等工具实现高可用架构,确保即使一台 Nginx 故障,另一台也能立即接管流量。

Nginx负载均衡高可用实战指南(从小白到部署) Nginx负载均衡 高可用架构 反向代理配置 服务器集群 第1张

第一步:配置 Nginx 负载均衡

假设你有两台后端应用服务器(IP 分别为 192.168.1.10 和 192.168.1.11),现在要在 Nginx 上配置负载均衡。

编辑 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf):

upstream backend {    server 192.168.1.10:80;    server 192.168.1.11:80;}server {    listen 80;    location / {        proxy_pass http://backend;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;    }}  

保存后重载 Nginx:sudo nginx -s reload。此时,访问 Nginx 所在服务器的 IP,请求将自动分发到两台后端服务器。

第二步:实现 Nginx 高可用(使用 Keepalived)

为了防止单点故障,我们部署两台 Nginx 服务器(主:192.168.1.20,备:192.168.1.21),并使用 Keepalived 实现 VIP(虚拟 IP)漂移。

在两台 Nginx 服务器上安装 Keepalived:

sudo apt install keepalived -y  # Ubuntu/Debian# 或sudo yum install keepalived -y  # CentOS/RHEL  

主 Nginx 配置(/etc/keepalived/keepalived.conf):

vrrp_instance VI_1 {    state MASTER    interface eth0    virtual_router_id 51    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass 123456    }    virtual_ipaddress {        192.168.1.100  # 虚拟IP    }}  

备 Nginx 配置(/etc/keepalived/keepalived.conf):

vrrp_instance VI_1 {    state BACKUP    interface eth0    virtual_router_id 51    priority 90    advert_int 1    authentication {        auth_type PASS        auth_pass 123456    }    virtual_ipaddress {        192.168.1.100    }}  

启动 Keepalived:sudo systemctl start keepalived 并设置开机自启。

现在,外部用户只需访问虚拟 IP 192.168.1.100,当主 Nginx 宕机时,备机会自动接管该 IP,实现无缝切换,保障服务不中断。

总结

通过本教程,你已经掌握了如何使用 Nginx 构建负载均衡系统,并结合 Keepalived 实现高可用架构。这种方案广泛应用于生产环境,能有效提升 Web 服务的稳定性和扩展性。无论是个人项目还是企业级应用,反向代理配置服务器集群管理都是运维工程师必备技能。

赶快动手试试吧!如有疑问,欢迎在评论区交流。