本文共 1708 字,大约阅读时间需要 5 分钟。
说明
nginx 对于后端RS的检查机制不完善所有用Tengine进行反向代理
upstream static_server { server 192.168.17.175:80 weight=5; server 192.168.17.176:80 weight=3; } upstream basic_server { server 192.168.17.175:80 weight=2; server 192.168.17.176:80 weight=5; }
server { listen 80 default_server; server_name _; location ~ ^/images { index index.php index.html; proxy_pass http://static_server; } location ~* .(jpg|png|jpeg|gif) { proxy_pass http://static_server; } #匹配到/youxi 则全部代理到 http://basic_server/index.html; location ~ /youxi { rewrite ^(.*)$ /index.html break; proxy_pass http://basic_server/index.html; }
模块 nginx_upstream_check_module-master使用 upstream块里可以用多个server选项配置多个后端服务器,同时还可配置对后端服务器的健康状态检查, 可以在server后面加上 max_fails(proxy_next_upstream指定检查策略,默认为返回超时为失败)和 fail_timeout参数实现; 也可以用health_check选项来实现 health_check可以指定的参数较多,不过需要定义在location上下文中。 另外,可以指定代理服务器自身作为备份server,当所有后端服务器都宕机时,对外提供维护提示页面。指定负载均衡策略 主要有round_robin(加权轮询,默认)、 hash、ip_hash、least_conn(最少连接) least_time(最少响应时间,商业版本) 策略定义在upstream上下文即可;
upstream basic_server { server 192.168.17.175:80 weight=2; server 192.168.17.176:80 weight=5; check interval=3000 rise=2 fall=5 timeout=2000 type=http; check_http_expect_alive http_2xx http_3xx; }
server { location /status { check_status; }}
转载地址:http://egnli.baihongyu.com/