`
85977328
  • 浏览: 1899608 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx系列(二)健康检查模块

 
阅读更多
简介
大家都知道,前段nginx做反向代理,如果后端服务器宕掉的话,nginx是不能把这台realserver提出upstream的,所以还会有请求转发到后端的这台realserver上面去,虽然nginx可以在localtion中启用proxy_next_upstream来解决返回给用户的错误页面,方法在:http://www.linuxyan.com/web-server/67.html,大家可以参考一下,但这个还是会把请求转发给这台服务器的,然后再转发给别的服务器,这样就浪费了一次转发,这次借助与淘宝技术团队开发的nginx模快nginx_upstream_check_module来检测后方realserver的健康状态,如果后端服务器不可用,则所以的请求不转发到这台服务器。

nginx安装健康检查模块
使用版本
nginx-1.2.9
下载补丁
https://github.com/yaoweibin/nginx_upstream_check_module

解压缩源码
cd /application/search/tmp/nginx-1.2.9
patch -p1 < /application/search/tmp/nginx_upstream_check_module-0.1.9/check_1.2.6+.patch

./configure \
  --prefix=/application/search/usr/nginx-1.2.9 \
  --with-http_ssl_module \
  --add-module=/application/search/tmp/nginx_upstream_check_module-0.1.9

make && make install

配置方式
upstream myserver {
        server 127.0.0.1:81;
        server 127.0.0.1:82;
        check interval=3000 rise=2 fall=1 timeout=1000 type=http;
        #必须是HTTP/1.0
        check_http_send "GET /_.gif HTTP/1.0\r\n\r\n";
        check_http_expect_alive http_2xx http_3xx;
}
server节点配置
location /load {
        proxy_pass      http://myserver/;
        proxy_redirect  http://myserver/ /;
        proxy_set_header   Host             $host;
        proxy_set_header        X-Forwarded-For $http_x_forwarded_for;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   REMOTE-HOST      $remote_addr;
}

# 配置健康检查模块状态页
location /nstatus {
    check_status;
    access_log off;
    #allow SOME.IP.ADD.RESS;
    #deny all;
}

参考文章
http://www.linuxyan.com/web-server/90.html
http://www.linuxidc.com/Linux/2012-08/67869p3.htm
分享到:
评论

相关推荐

    nginx后端健康检测模块

    Nginx 的健康检查模块是其负载均衡策略的一部分,它会定期发送请求到后端服务器以确认它们是否正常工作。这个模块通过检查后端服务器的响应时间、HTTP状态码以及用户自定义的HTTP报头来判断服务器的健康状态。如果...

    Nginx清理和健康的模块

    2. **nginx_upstream_check_module-0.3.0.tar**:此模块是Nginx的上游健康检查模块,用于监控和检查后端服务器的健康状态。它可以在服务器出现问题时自动将流量重定向到其他正常运行的服务器,提高服务的可用性和...

    Nginx集成阿里健康检查相关包.rar

    3. **Nginx自定义模块开发**:学习如何使用C语言编写Nginx模块,实现与阿里健康检查服务的接口对接,将健康检查结果应用到upstream模块的决策过程中。 4. **配置文件修改**:分析并修改Nginx配置文件,将阿里健康...

    nginxdocker镜像(nginx-upstream-check健康检查)

    官方nginx 镜像不带主动健康,本镜像将 nginx_upstream_check健康检查 打包到了镜像中。

    Nginx安装+nginx_upstream_check_module后端健康检查

    ### Nginx安装与后端健康检查模块配置详解 #### 一、Nginx环境搭建与核心组件安装 **1.1 基础环境准备** - **操作系统**: CentOS 6.5 - **基本服务器配置**: 在安装过程中选择了“基本服务器”配置。 **1.2 安装...

    nginx实现带健康状态检测

    Nginx本身并不直接支持内置的健康检查,但可以通过扩展模块如`healthcheck_nginx_upstreams-master`来实现。这个模块会周期性地向后端服务器发送探测请求,根据响应时间、HTTP状态码等指标判断服务器是否健康。如果...

    nginx-sticky模块

    3. 考虑到服务器故障的情况,需要配置健康检查和负载均衡策略,以保证高可用性。 4. 使用会话持久化可能会影响负载均衡的效果,因为某些服务器可能会处理更多的请求,特别是在不均匀的负载情况下。因此,需要权衡...

    nginx依赖及心跳检查包

    被动策略是在接收到客户端请求时,通过检查模块判断后端服务器的状态。主动策略则是定时发起探测请求,即使没有客户端请求,也会持续监控后端服务器的健康状况。这种心跳机制对于及时发现并隔离故障服务器,防止服务...

    cpp-nginx一致性哈希模块支持虚节点可动态剔除不健康节点

    总的来说,"cpp-nginx一致性哈希模块支持虚节点可动态剔除不健康节点"是提升Nginx负载均衡能力的重要工具,它通过优化的哈希策略和健康检查机制,实现了高效且稳定的服务分配,有助于构建高可用的分布式系统。...

    healthcheck_nginx_upstreams

    健康检查模块提供了丰富的配置选项,比如`interval`用于设定检查间隔,`fail_timeout`定义了连续多少次失败后认定服务器异常,`pass_timeout`则是设定多少时间内未收到响应视为成功。此外,还可以设置自定义的健康...

    nginx1.16+nginx-upstream-check-module-master+nginx-upload-module

    接下来,`nginx-upstream-check-module`是一个用于后端服务器健康检查的Nginx模块。在高可用性架构中,确保与后端服务器的连接正常至关重要。这个模块允许Nginx定期向后端节点发送检查请求,如HTTP GET或TCP连接,...

    Ansible的健康检查模块 -Python-下载

    在这个“Ansible的健康检查模块 - Python - 下载”主题中,我们将深入探讨如何使用Python编写自定义的Ansible模块来进行系统健康检查。 首先,让我们理解Ansible模块是什么。Ansible模块是可重用的代码单元,用于...

    nginx_upstream_check_module

    但是,原始的`upstream`模块并不具备健康检查功能,这就是`nginx_upstream_check_module`的用武之地。 ### Nginx Upstream Check Module特性 1. **健康检查**:该模块可以定期向后端服务器发送探测请求,如...

    深入理解Nginx模块开发与架构解析(第2版)

    为了实现Nginx与Java的高效协同,开发者需要了解Nginx的upstream模块配置,以及如何设置健康检查和会话持久化策略。 书中的案例涵盖了从基础的HTTP模块开发到复杂的模块设计,如URL重写、访问控制、内容过滤等。...

    深入理解Nginx模块开发与架构解析

    此外,Nginx还支持健康检查,自动将异常的后端服务器从负载均衡池中移除。 缓存功能也是Nginx的重要组成部分,它可以缓存静态资源,减少对后端服务器的压力。Nginx的缓存策略可以通过配置文件进行精细调整,如设置...

    Go-一个用于设置Consul服务后端的nginx模块

    3. **健康检查**:Consul内置健康检查功能,可以监控服务的运行状态。Nginx模块可以利用这些信息,排除故障节点,确保流量只流向健康的后端服务。 4. **负载均衡**:通过这个模块,Nginx可以实现基于Consul的服务...

    Nginx入门到实践 Nginx 中间件

    通过 `upstream` 模块,Nginx 可以实现健康检查,当后端服务器出现问题时,自动将请求切换到其他健康的服务器,保障服务的连续性。 总结来说,Nginx 以其高效、稳定和灵活性在 IT 系统中扮演着关键角色,不仅作为...

    healthcheck_nginx_upstreams-b33a846.tar.gz

    官方Nginx虽然默认并未内置健康检查模块,但通过第三方扩展可以实现这一功能。本文将详细讲解关于"healthcheck_nginx_upstreams-b33a846.tar.gz"这个压缩包的相关知识点,包括Nginx的健康检查模块以及如何使用。 ...

    信息技术_nginx双活+双向SSL认证+高并发+安全加固+会话共享+主被动健康探测

    - **配置示例**:在upstream配置块中定义健康检查策略,包括被动健康检查(基于客户端请求失败情况)和主动健康检查(定期向后端服务器发送心跳请求)。 #### 二、双向SSL认证 双向SSL认证不仅要求客户端验证服务器...

    nginx-1.15.11.tar

    10. **健康检查**:Nginx可以定期对后端服务器进行健康检查,确保只有健康的服务器接收请求。 11. **缓存功能**:Nginx可以缓存常访问的静态资源,减少对后端服务器的请求,提高响应速度。 12. **日志管理**:...

Global site tag (gtag.js) - Google Analytics