Debian Nginx如何实现高可用性

545
2025/3/12 0:32:42
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian系统上配置Nginx以实现高可用性,通常涉及以下几个关键步骤和技术:

1. 使用Keepalived实现高可用性

Keepalived是一个基于VRRP(Virtual Router Redundancy Protocol)协议的轻量级高可用解决方案。通过Keepalived,可以实现Nginx主备服务器之间的无缝切换,确保服务的高可用性。

安装Keepalived

在主服务器和备用服务器上安装Keepalived:

sudo apt update
sudo apt install keepalived -y

配置Keepalived

编辑主服务器的Keepalived配置文件 /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 1234
    }
    virtual_ipaddress {
        192.168.1.100
    }
}

编辑备用服务器的Keepalived配置文件 /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 1234
    }
    virtual_ipaddress {
        192.168.1.100
    }
}

启动Keepalived

在主服务器和备用服务器上启动Keepalived:

sudo systemctl start keepalived
sudo systemctl enable keepalived

2. 配置Nginx负载均衡

Nginx可以通过配置upstream模块来实现负载均衡。

基本配置

编辑Nginx配置文件 /etc/nginx/nginx.conf

http {
    upstream backend {
        server 192.168.1.101;
        server 192.168.1.102;
        server 192.168.1.103;
    }

    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://backend;
        }
    }
}

3. 健康检查

为了确保Nginx能够自动检测后端服务器的状态,可以配置健康检查。

在主服务器和备用服务器的Keepalived配置文件中添加健康检查:

vrrp_script chk_nginx {
    script "killall -0 nginx"
    interval 2
    weight 2
}

track_script {
    chk_nginx
}

4. 测试高可用性

  • 访问虚拟IP(例如:http://192.168.1.100),确认返回主服务器的消息。
  • 模拟主服务器故障(例如:停止主服务器的Keepalived服务),再次访问虚拟IP,确认流量已切换到备用服务器。

通过上述步骤,可以在Debian系统上配置Nginx和Keepalived,实现高可用性。这种配置不仅提高了服务的可靠性,还能在主服务器故障时自动切换到备用服务器,确保用户访问不受影响。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何在Debian上配置SQL Server网络