如何用nginx实现vip 如何配置 提供一个完整的nginx配置文件 假设虚拟ip地址是172.16.21.200 实际地址为172.16.21.199 172.16.21.198
时间: 2023-11-28 19:50:26 浏览: 32
要实现VIP,需要使用nginx的upstream模块和keepalive模块。以下是一个完整的nginx配置文件示例,假设虚拟ip地址为172.16.21.200,实际地址为172.16.21.199和172.16.21.198。
```
# 定义upstream模块,并指定实际服务器的地址和端口
upstream backend {
server 172.16.21.199:80;
server 172.16.21.198:80;
}
# 定义keepalive模块
keepalive_timeout 60s;
keepalive_requests 100;
# 定义server模块,并监听虚拟ip地址的80端口
server {
listen 80;
server_name 172.16.21.200;
# 开启代理模式
proxy_pass http://backend;
# 开启keepalive模式
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 开启健康检查
health_check uri=/check.txt;
# 启用缓存
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
proxy_cache_valid 200 60m;
}
```
其中,upstream模块定义了实际的服务器地址和端口。keepalive模块定义了连接的保持时间和请求数,以便在多次请求时重用连接。server模块监听虚拟ip地址的80端口,并开启代理模式,将请求发送到upstream定义的实际服务器。健康检查和缓存都是可选的,可以根据需要进行配置。