nginx实现反向代理+健康检测

原创 2017年11月11日 21:48:07

说明
tengine官方说明文档

nginx 对于后端RS的检查机制不完善
所有用Tengine进行反向代理

一、反向代理

1.定义后端real-server(在http段)


        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;
        }

2.location 匹配到自定义内容 代理到对应的real-server(server段)


    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;
        }

二、real-server健康检测

模块
  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上下文即可;

1.对real-server进行健康检测(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;
        }

2.健康检测页面

server {
        location /status {
                check_status;
        }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

Nginx实战系列之功能篇----后端节点健康检查

公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查。目前,nginx对后端节点健康检查的方式主要有3种,这里列出: 1、ngx_http_proxy_mo...
  • moqiang02
  • moqiang02
  • 2015年01月18日 22:35
  • 6750

Nginx反向代理,健康状态检测,过载保护及配置文件详解

简介 Nginx("engine x")是一个高性能的HTTP和反向代理 服务器,也是一个IMAP/POP3/SMTP 代理服务器。Nginx 是由Igor Sysoev为俄罗斯访问量第二的Ram...
  • szss2a
  • szss2a
  • 2013年09月26日 09:58
  • 3416

nginx自动检测后台服务器健康状态

转自http://www.iyunv.com/thread-38535-1-1.html   公司业务线上对后端节点的健康检查是通过nginx_upstream_check_module模块做的,这...
  • wtswjtu
  • wtswjtu
  • 2016年11月02日 15:22
  • 6450

nginx反向代理安装配置、服务器状态监控(健康检查)

nginx反向代理安装配置、服务器状态监控(健康检查)
  • high2011
  • high2011
  • 2016年06月06日 12:45
  • 1994

Nginx实战系列之功能篇----后端节点健康检查

原文链接:http://www.iyunv.com/thread-38535-1-1.html 公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查。目前,n...
  • nimeijian
  • nimeijian
  • 2017年06月15日 21:04
  • 579

nginx利用第三方模块nginx_upstream_check_module来检查后端服务器的健康情况

大家都知道,前段nginx做反代,如果后端服务器宕掉的话,nginx是不能把这台realserver提出upstream的,所以还会有请求转发到后端的这台realserver上面去,虽然nginx可以...
  • mooncarp
  • mooncarp
  • 2016年06月30日 09:39
  • 2111

nginx(三) nginx配置:反向代理 负载均衡 后端健康检查 缓存

在《nginx详解》中对基本认识nginx了,在《nginx编译安装及配置WEB服务》进行了编译安装以及配置WEB服务。下面进行nginx另一个应用场景的配置:包括配置反向代理、负载均衡、后端服务器健...
  • tjiyu
  • tjiyu
  • 2016年11月03日 23:37
  • 3358

nginx 反向代理测试

代理机器:192.168.163.128 后端机器:192.168.163.129和192.168.163.131 以上三台机器都搭建了nginx 1、修改index.html,区别后端机器...
  • u011085172
  • u011085172
  • 2017年05月10日 18:35
  • 489

nginx安装包附带健康检查插件

  • 2016年02月29日 23:50
  • 962KB
  • 下载

Nginx后端节点健康检查

公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查。目前,nginx对后端节点健康检查的方式主要有3种,这里列出: 1、ngx_http_proxy_mo...
  • leining_chris
  • leining_chris
  • 2015年11月24日 17:27
  • 3201
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nginx实现反向代理+健康检测
举报原因:
原因补充:

(最多只允许输入30个字)