在现代 Web 应用中,单台服务器往往难以应对高并发访问。为了提升系统性能与稳定性,Nginx 负载均衡和高可用架构成为关键解决方案。本文将手把手教你搭建一个具备高可用能力的 Nginx 负载均衡环境,即使你是初学者也能轻松上手!
Nginx 是一款高性能的 Web 服务器和反向代理服务器。通过其负载均衡功能,可以将用户请求分发到多个后端服务器(如应用服务器),从而避免单点过载,提高整体系统的吞吐量和可靠性。
如果只有一台 Nginx 作为负载均衡器,一旦它宕机,整个服务就会中断。因此,我们需要部署多台 Nginx并配合 Keepalived 等工具实现高可用架构,确保即使一台 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 服务器(主: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 服务的稳定性和扩展性。无论是个人项目还是企业级应用,反向代理配置和服务器集群管理都是运维工程师必备技能。
赶快动手试试吧!如有疑问,欢迎在评论区交流。
本文由主机测评网于2025-11-28发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025111032.html