nginx keepalived,虚拟ip怎么配置
时间: 2023-12-22 15:23:19 浏览: 116
在使用nginx和keepalived的负载均衡集群中,为了提高集群的高可用性,通常会使用虚拟IP(VIP)来实现故障转移。以下是在CentOS 7上配置nginx和keepalived虚拟IP的步骤。
1. 安装nginx和keepalived
在CentOS 7上安装nginx和keepalived:
```
sudo yum install nginx
sudo yum install keepalived
```
2. 配置nginx
在nginx配置文件中添加以下内容:
```
upstream backend {
server 192.168.0.1;
server 192.168.0.2;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
```
此配置中,将请求转发到名为“backend”的上游服务器组,其中包含两个IP地址(192.168.0.1和192.168.0.2)。您可以根据需要添加或删除服务器。
3. 配置keepalived
在keepalived配置文件中添加以下内容:
```
vrrp_script check_nginx {
script "/usr/bin/pgrep nginx"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 101
authentication {
auth_type PASS
auth_pass mypassword
}
virtual_ipaddress {
192.168.0.100/24 dev eth0
}
track_script {
check_nginx
}
}
```
此配置中,使用vrrp_script定义了一个名为“check_nginx”的脚本,以检查nginx进程是否正在运行。使用vrrp_instance定义了一个名为“VI_1”的VRRP实例,其中包含了虚拟路由器ID、节点优先级、虚拟IP地址和认证信息。使用track_script配置keepalived监控nginx进程的运行状态。
4. 启动服务
在两个节点上启动nginx和keepalived服务:
```
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start keepalived
sudo systemctl enable keepalived
```
5. 测试虚拟IP
在浏览器中输入虚拟IP地址(例如http://192.168.0.100),应该能够访问nginx服务器集群。此时,如果一个nginx服务器宕机,keepalived将自动将虚拟IP地址转移到另一个nginx服务器上,以确保集群的高可用性。
阅读全文