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


    说明
    tengine官方说明文档

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

    一、反向代理

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

    1234567891011

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

    二、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上下文即可;123456789101112131415

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

    2.健康检测页面

    server {
    location /status {
    check_status;
    }
    }
    123456
    ---------------------
    作者:木子甘
    来源:CSDN
    原文:https://blog.csdn.net/tete2csdn/article/details/78508921
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    《数据结构》树与二叉树
    C/C++ 一点笔记(1)
    c#中隐藏基类方法的作用
    VS2010 灵活运用快捷操作功能(新手必看)
    C# 之类复制 MemberwiseClone与Clone(深 浅 Clone)
    DLL笔记
    批处理文件
    .NET Remoting(一)
    MSI安装数据库
    关于用户角色权限的一点想法(RBAC)
  • 原文地址:https://www.cnblogs.com/gao88/p/10047018.html
Copyright © 2020-2023  润新知