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除了作为常规的Web服务器外,还会被大规模的用于反向代理前端,因为Nginx的异步框架可以处理很大的并发请求,把这些并发请求hold住之后就...

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

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

使用Nginx实现反向代理

一、代理服务器 1、什么是代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理...

Nginx 反向代理

  • 2016年11月20日 19:29
  • 30KB
  • 下载

Nginx反向代理

  • 2015年04月21日 18:10
  • 1.71MB
  • 下载

nginx1.8.1反向代理、负载均衡功能的实现

1、代理功能的简单实现 nginx代理服务器:192.168.8.40 web服务器:192.168.8.101 8.40添加代理: location /forum/ {     proxy_pa...

Nginx反向代理和proxy

  • 2013年06月05日 09:08
  • 189KB
  • 下载

Nginx反向代理

  • 2014年07月13日 10:36
  • 5.43MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nginx实现反向代理+健康检测
举报原因:
原因补充:

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