溫馨提示×

Nginx 在 CentOS 上如何實現負載均衡的高可用性

小樊
94
2025-02-08 12:56:15
欄目: 云計算

在CentOS上使用Nginx實現負載均衡的高可用性,通常涉及以下幾個步驟:

  1. 安裝Nginx

    使用yum命令安裝Nginx:

    sudo yum install epel-release # 如果未安裝EPEL源
    sudo yum install nginx
    
  2. 配置負載均衡

    編輯Nginx的配置文件,通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。添加一個 upstream 塊,用于定義一組后端服務器,并配置負載均衡算法(如輪詢、最少連接等)。

    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
        # 設置服務器權重,例如 backend1 權重更高
        server backend1.example.com weight=3;
        server backend2.example.com weight=2;
        # 更多配置,比如健康檢查
        keepalive 64;
    }
    
  3. 配置反向代理

    在Nginx的 server 塊內,配置一個 location 或者整個 server 用來做反向代理,并引用上面定義的 upstream

    server {
        listen 80;
        server_name yourdomain.com;
        location / {
            proxy_pass http://backend; # 引用上游定義的服務器組
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    
  4. 啟動Nginx服務

    使用systemctl啟動Nginx服務:

    sudo systemctl start nginx
    sudo systemctl status nginx
    
  5. 配置高可用性

    為了實現高可用性,可以使用Keepalived。Keepalived是一個用于實現高可用性的軟件,它可以與Nginx結合使用,確保在主服務器出現故障時,備份服務器能夠接管服務。

    • 安裝Keepalived:

      sudo yum install keepalived -y
      
    • 配置Keepalived:

      編輯 /etc/keepalived/keepalived.conf 文件,配置虛擬IP地址和故障轉移。

      vrrp_instance VI_1 {
          state MASTER
          interface eth0
          virtual_router_id 51
          priority 100
          advert_int 1
          authentication {
              auth_type PASS
              auth_pass 密碼
          }
          virtual_ipaddress {
              VIP
          }
      }
      
    • 在備份服務器上配置Keepalived,將 state 設置為 BACKUP,并確保 priority 低于主服務器。

  6. 健康檢查

    Nginx官方版本并未內置健康檢查功能,但可以通過第三方模塊如ngx_http_upstream_check_module實現。如果沒有第三方模塊,通常會在應用層實現健康檢查,或者依賴于其他監控工具來管理后端服務器的狀態。

以上步驟提供了一個基本的Nginx負載均衡高可用性配置示例。根據實際需求,可能還需要進行進一步的優化和調整。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女