已安装完的的nginx重新编译http_stub_status_module 模块,


应用场景:nginx需要安装配置http_stub_status_module监控模块

准备工作

首先要检查Nginx是否安装了 http_stub_status_module 模块,通过下面的命令可以看到编译参数。
/usr/local/sbin/nginx -V
如果没有这个模块,还需要重新编译Nginx.

安装http_stub_status_module 模块

1,进入nginx编译安装的目录,重新编译(就是nginx—1.40.1目录)

./configure --prefix=/usr/local/nginx --with-http_stub_status_module

注意:我这里只需要这一个模块,如果你安装的nginx还使用其他的模块,记得在上面的编译命令中加上

2,执行make命令进行编译,切记不要执行make install,否则会把之前的nginx全部覆盖

3,将nginx的启动单元更换

nginx的启动单元改名
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
把编译目录下的nginx拷贝
cp /usr/local/nginx-1.40.1/sbin/nginx /usr/local/nginx/sbin/nginx

4,验证模块是否安装

/usr/local/nginx/sbin/nginx -V
执行后可以查看到有http_stub_status_module模块说明已经安装

修改nginx配置文件

1,我是配置到9999端口,当然也可以将location段加入到别的端口下
vim /usr/local/nginx/conf/nginx.conf

server {
listen *:9999 default_server;
server_name _;
location /nginx_status
{
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}

2,配置完成后检查配置文件
/usr/local/nginx/sbin/nginx -t

重新加载配置
/usr/local/nginx/sbin/nginx -s reload

查看9999端口是否开启
netstat -tlanp | grep 9999
注:理论上重新加载配置文件的时候是会生效的,但是我的9999端口没开启
把nginx进程杀掉重启,再查看9999端口就开启了

验证模块配置

允许访问IP+片段名组成访问地址

curl http://127.0.0.1:9999/nginx_status

Active connections: 7
server accepts handled requests
2707 2707 12528
Reading: 0 Writing: 1 Waiting: 6?

curl后返回类似上面结果即为配置成功

相关内容

    暂无相关文章