在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集群。根据实际需求,您还可以进一步优化和扩展配置。