溫馨提示×

centos nginx集群部署方案

小樊
47
2025-06-28 13:22:52
欄目: 智能運維

在CentOS上部署Nginx集群可以采用多種方式,包括基本的負載均衡和更高可用性的配置。以下是一個基本的Nginx集群部署方案,包括安裝、配置和優化步驟。

1. 環境準備

硬件需求

  • 至少2臺服務器:主節點(Master)和備節點(Backup)
  • 虛擬IP(VIP):用于對外提供服務的浮動IP(如192.168.1.150)

軟件組件

  • Nginx:處理HTTP請求并實現負載均衡
  • Keepalived:通過VRRP協議實現VIP漂移,保障服務高可用
  • 健康檢查腳本:監控Nginx進程狀態,異常時觸發主備切換

2. 安裝Nginx

添加Nginx官方倉庫

sudo tee /etc/yum.repos.d/nginx.repo <<EOF
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/
gpgcheck=0
enabled=1
EOF

安裝Nginx

sudo yum install -y nginx

啟動Nginx服務

sudo systemctl start nginx

設置開機自啟

sudo systemctl enable nginx

3. 配置Nginx

基本配置

編輯Nginx的配置文件,通常位于/etc/nginx/nginx.conf。以下是一個簡單的負載均衡配置示例:

http {
    upstream backend {
        server 192.168.1.10:80;  # 第一臺服務器的IP及端口
        server 192.168.1.11:80;  # 第二臺服務器的IP及端口
    }

    server {
        listen 80;
        server_name 192.168.1.150;  # Nginx服務器的IP地址

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

健康檢查

在配置文件中添加健康檢查:

upstream backend {
    server 192.168.1.10:80;
    server 192.168.1.11:80;
    health_check;
}

4. 使用Keepalived實現高可用性

安裝Keepalived

sudo yum install -y keepalived

配置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.150
    }

    track_script {
        chk_nginx
    }
}

script chk_nginx {
    interval 2
    weight 2
    rise 2
    fall 3
    script "/etc/keepalived/ck_ng.sh"
}

備節點配置(/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.150
    }

    track_script {
        chk_nginx
    }
}

5. 啟動和測試

啟動服務

sudo systemctl start keepalived
sudo systemctl start nginx

驗證配置

通過訪問Nginx服務器的IP地址(如192.168.1.150)來驗證配置是否正確。如果一切正常,您應該能夠看到Nginx的歡迎頁面,并且請求會被負載均衡到后端服務器。

6. 高級配置

負載均衡策略

  • 輪詢(Round Robin)
  • 加權輪詢(Weighted Round Robin)
  • IP哈希(IP Hash)
  • 最少連接(Least Connections)
  • 加權最少連接(Weighted Least Connections)
upstream backend {
    server 192.168.1.10:80 weight=3;
    server 192.168.1.11:80 weight=2;
}

SSL/TLS

使用Let’s Encrypt免費獲取SSL證書,并配置Nginx以支持HTTPS。

sudo yum install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com

通過以上步驟,您可以在CentOS上成功部署一個高性能、高可用的Nginx集群。根據實際需求,您還可以進一步優化和擴展配置。

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