nginx后端服务器状态检测

简介:

一、模块healthcheck_nginx_upstreams

http://wiki.nginx.org/HttpHealthcheckModule

1、下载安装,

在https://github.com/liseen/healthcheck_nginx_upstreams下载该模块,没有公布的版本,下载时要双击打开后,将代码另存的方式下载,

也可以去这里下载: http://download.csdn.net/detail/ly_stu/5976009

2、进入nginx的源码目录 为nginx打补丁 healthcheck.pathch #注意路径

#patch –p1< ../cep21-healthcheck_nginx_upstreams/healthcheck.patch

编译安装nginx

./configure --user=www --group=www--prefix=/usr/local/nginx/ --with- pcre=/usr/local/src/pcre-8.31--with-http_stub_status_module --with-http_ssl_module --add-module=../cep21-healthcheck_nginx_upstreams-b33a846/ && make && make install&& make clean

3、配置nginx.conf healthcheck_nginx_upstreamscontextupstream

分别在两个站点目录下创建error.jsp探测页面,注意防火墙的阻挡,touch error.jsp

http{

……

upstream backend {

server 192.168.15.65:80;

server 192.168.15.183:8080;

#开启

healthcheck_enabled;

#检测每一端的延迟,单位为毫秒

healthcheck_delay 1000;

#超过2000毫秒为超时

healthcheck_timeout 2000;

#失败尝试

healthcheck_failcount 3;

#实际检测

healthcheck_send "GET /error.jspHTTP/1.0";

}

server{

……

location ~ /health {

healthcheck_status;

access_log off;

allow 192.168.15.65/20;

deny all;

}

……

网页查看运行结果:

203743197.png


注意:HttpHealthcheckModulenginx_upstream_check_module安装时补丁包有一定冲突,不可同时安装。


二、模块nginx_upstream_check_module


获取该模块版本包

https://github.com/yaoweibin/nginx_upstream_check_module/releases


进入nginx的解压目录:

#patch -p1 < /path/to/nginx_http_upstream_check_module/check.patch


注:因nginx版本更新,1.2以上版本的nginx,补丁为check_1.2.1+.patch

编译安装nginx

#./configure --prefix=/usr/local/nginx/ \

--with-pcre=/usr/local/src/pcre-8.31\

--with-http_stub_status_module \

--with-http_ssl_module \

--add-module=/path/to/nginx_http_upstream_check_module

#make && makeinstall && make clean

nginx.conf配置文件里面的upstream加入健康检查,如下:

http{

……

upstreamwww.example.com {

server 192.168.15.187:80;

server 192.168.15.188:80;

#追加下面行就ok了

check interval=1500 rise=2 fall=2 timeout=1000;

}

server{

……

location ~ /nstatus {

check_status;

access_log off;

allow 192.168.1.176;

}

}

}

注:无关配置项省略。


判断语法,重载nginx服务

[root@master ~]# /usr/local/nginx/sbin/nginx -t

[root@master ~]# /usr/local/nginx/sbin/nginx -s reload


网页查看运行结果:

203708535.png

虽然上面两个模块都可以实现对后端的检测,但总是有一种鸡肋的感觉,对于有多个应用前端的生产环境而言,每个前端都需要安装该模块插件,当然也是单独的页面显示,会给用户返回大量的信息【包括很多正常的信息,其实检测后端的目的就是了解到错误连接,并实现告警】,并不理想,而且不能实现告警。继续学习寻找中[手动写脚本]……



本文转自 刘园  51CTO博客,原文链接:http://blog.51cto.com/colynn/1328863
相关文章
|
3月前
|
负载均衡 应用服务中间件 网络安全
Django后端架构开发:Nginx服务优化实践
Django后端架构开发:Nginx服务优化实践
57 2
|
3月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
3月前
|
负载均衡 应用服务中间件 Linux
"揭晓nginx的神秘力量:如何实现反向代理与负载均衡,拯救服务器于水火?"
【8月更文挑战第20天】在Linux环境下,nginx作为高性能HTTP服务器与反向代理工具,在网站优化及服务器负载均衡中扮演重要角色。本文通过电商平台案例,解析nginx如何解决服务器压力大、访问慢的问题。首先介绍反向代理原理,即客户端请求经由代理服务器转发至内部服务器,隐藏真实服务器地址;并给出配置示例。接着讲解负载均衡原理,通过将请求分发到多个服务器来分散负载,同样附有配置实例。实践表明,采用nginx后,不仅服务器压力得到缓解,还提升了访问速度与系统稳定性。
77 3
|
3月前
|
负载均衡 算法 应用服务中间件
揭秘!nginx的神秘力量——如何单枪匹马驾驭Linux中的流量洪流与后端军团?
【8月更文挑战第20天】在Linux环境下,Nginx是一款高效HTTP与反向代理服务器,还具备负载均衡功能。本文采用问答形式解析Nginx的反向代理机制:接收并转发客户端请求至后端服务器,增强安全性和性能。示例配置展示了如何设置上游服务器与代理传递规则。同时介绍了Nginx负载均衡原理及配置,利用upstream模块与不同调度算法(如轮询、最少连接、IP哈希)分发请求,提升系统可靠性和处理能力。
48 2
|
3月前
|
应用服务中间件 Linux 网络安全
在Linux中,如何配置Apache或Nginx Web服务器?
在Linux中,如何配置Apache或Nginx Web服务器?
|
3月前
|
存储 负载均衡 应用服务中间件
FastDFS+Nginx:轻松搭建本地文件服务器
【8月更文挑战第19天】在现今互联网快速发展的时代,文件服务器作为支撑各种在线服务的重要基础设施,其稳定性和性能显得尤为关键。FastDFS作为一款开源的轻量级分布式文件系统,凭借其高效的文件管理功能,特别适合用于构建相册网站、视频网站等以文件为载体的在线服务。本文将详细介绍如何利用FastDFS和Nginx快速搭建一个本地文件服务器,为您的工作和学习提供技术支持。
261 0
|
3月前
|
存储 监控 Unix
|
3月前
|
关系型数据库 Linux 应用服务中间件
如何在 Ubuntu 14.04 服务器上使用 Nginx 安装和保护 phpMyAdmin
如何在 Ubuntu 14.04 服务器上使用 Nginx 安装和保护 phpMyAdmin
23 0
|
4天前
|
API 持续交付 开发者
后端开发中的微服务架构实践与挑战
在数字化时代,后端服务的构建和管理变得日益复杂。本文将深入探讨微服务架构在后端开发中的应用,分析其在提高系统可扩展性、灵活性和可维护性方面的优势,同时讨论实施微服务时面临的挑战,如服务拆分、数据一致性和部署复杂性等。通过实际案例分析,本文旨在为开发者提供微服务架构的实用见解和解决策略。
|
2天前
|
Web App开发 存储 JavaScript
深入浅出Node.js后端开发
【10月更文挑战第31天】本文将引导你进入Node.js的奇妙世界,探索其如何革新后端开发。通过浅显易懂的语言和实际代码示例,我们将一起学习Node.js的核心概念、搭建开发环境,以及实现一个简单但完整的Web应用。无论你是编程新手还是希望拓展技术的开发者,这篇文章都将为你打开一扇通往高效后端开发的大门。

热门文章

最新文章