历史版本1 :Nginx增加主动检查健康机制 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 依赖环境编辑

1.1 PCRE

PCRE ( Perl Compatible Regular Expressions ) 是一个 Perl 库,包括 perl 兼容的正则表达式库。nginx 的http模块使用pcre来解析正则表达式,所以需要在 Linux 上安装 PCRE 库,pcre-devel 是使用 PCRE 开发的一个二次开发库,Nginx 也需要此库。

1.2 OpenSSL

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。Nginx 不仅支持 http 协议,还支持 https(即在 SSL 协议上传输 http),所以需要在系统上安装 OpenSSL 库。

以上是 Nginx 能够正常安装的 4 个前提条件,下面会对依赖环境和 Nginx 的安装分联网和离线两种情况进行说明。

2. 下载主动健康检查模块编辑

请根据本文逻辑自行推断自己对应的安装路径

下载:ngx_healthcheck_module ,放在 /usr/nginx 路径下

image.png

3. 下载nginx源码编辑

先看一下nginx版本

/usr/local/nginx/sbin/nginx -V

下载对应版本nginx源码:wget http://nginx.org/download/nginx-1.x.x.tar.gz 放在 /usr/nginx 路径下

4. 应用健康检查补丁编辑


tar zxvf nginx-1.x.x.tar.gz #解压安装包
unzip ngx_healthcheck_module-master.zip #解压安装包
cd /usr/nginx/nginx-1.x.x #进入解压目录
patch -p1 < /usr/nginx/ngx_healthcheck_module-master/nginx_healthcheck_for_nginx_1.x+.patch 
#应用健康检查补丁,选择与nginx版本对应的补丁包,如nginx-1.15.0 则选nginx_healthcheck_for_nginx_1.15+.patch

5.编译安装编辑

./configure --prefix=/usr/nginx --with-http_stub_status_module --with-stream --add-module=/usr/nginx/ngx_healthcheck_module-master
# configure 参数与上一步中configure arguments一致,
# --with-stream --add-module=/usr/nginx/ngx_healthcheck_module-master 代表新增的模块
make #注意不要make install,不然就覆盖安装了
./objs/nginx -t # 测试是否编译成功
# 如果编译失败了,可以用make clean清除编译文件
cp /usr/nginx/sbin/nginx /usr/nginx/sbin/nginx_bak
cp /usr/nginx/nginx-1.15.6/objs/nginx /usr/nginx/sbin/
# 备份旧nginx,并用新的覆盖

覆盖时,部分操作系统 需要输入y 进行确认

image2019-7-3_17-20-2.png

6. Nginx配置编辑

下载地址  提取码: y1er ,修改文件内节点 IP 和端口,并将下图中被注释掉的主动健康检查相关代码释放出来

企业微信截图_15657663473831.png

重命名为nginx.conf,然后替换原始的/usr/nginx/conf/nginx.conf

7. 检查页面编辑

如图,192.168.5.46节点处于宕机状态

image2019-6-28_17-18-17.png