在CentOS上部署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
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable 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;
}
sudo yum install -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.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
}
}
sudo systemctl start keepalived
sudo systemctl start nginx
通過訪問Nginx服務器的IP地址(如192.168.1.150)來驗證配置是否正確。如果一切正常,您應該能夠看到Nginx的歡迎頁面,并且請求會被負載均衡到后端服務器。
upstream backend {
server 192.168.1.10:80 weight=3;
server 192.168.1.11:80 weight=2;
}
使用Let’s Encrypt免費獲取SSL證書,并配置Nginx以支持HTTPS。
sudo yum install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
通過以上步驟,您可以在CentOS上成功部署一個高性能、高可用的Nginx集群。根據實際需求,您還可以進一步優化和擴展配置。