1. 首页 > 知识 > 技术

Nginx中stub_status模块功能及第三方echo模块的加载

一、nginx模块功能查看

ngx_http_stub_status_module模块功能

主要功能是记录Nginx的基本访问状态信息,让使用者了解Nginx的工作状态,例如连接数等信息。要使用状态模块,在编译Nginx时必须增加http_stub_status_module模块来支持。

1、查看该模块是否安装

[root@inode3 ~]# nginx -V
nginx version: nginx/1.16.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx \
 --user=www --group=www \
 --with-http_ssl_module \
 --with-http_stub_status_module

2、配置nginx status

生成status配置

vim /usr/local/nginx/conf/vhost/ip.conf

server {
  listen  80;
  server_name 192.168.32.101;
  location / {
      root   html/ip;
      index  index.html index.htm;
  }
  location =/status {
      stub_status on;
  }
}

3、重新加载nginx配置文件

nginx -t
nginx -s reload

4、访问status页面

[root@inode3 vhost]# curl 192.168.32.103/status
Active connections: 1 
server accepts handled requests
19 19 21 
Reading: 0 Writing: 1 Waiting: 0

页面信息说明

Active connections: 1   #nginx正在处理的活动连接数 1个
server :表示Nginx启动到现在共处理了19个连接;
accepts:表示Nginx启动到现在共成功创建了19次握手;
handled requests:表示总共处理了21次请求;

Reading为Nginx读取到客户端的Header信息数。
Writing为Nginx返回给客户端的Header信息数。
Waiting为Nginx已经处理完正在等候下一次请求指令的驻留连接。在开启keep-alive的情况下,这个值等于active-(reading+writing)

二、添加nginx模块

给nginx添加ngx_http_gunzip_module模块

查看现在nginx的编译参数中没有该模块的

[root@inode3 ~]# nginx -V
nginx version: nginx/1.16.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx \
 --user=www \
 --group=www \
 --with-http_ssl_module 
 --with-http_stub_status_module

添加模块步骤:

第一步:

下载相同版本的nginx源码包并解压进入
cd /server/tools
wget -c  
tar -xf nginx-1.16.0.tar.gz
cd nginx-1.16.0

第二步:源码编译安装,在编译时添加ngx_http_gunzip_module模块

./configure --prefix=/usr/local/nginx --user=www --group=www \
            --with-http_ssl_module --with-http_stub_status_module \
            --with-http_gunzip_module
make
###注意不要make install

第三步:备份源nginx的命令文件

cd /usr/local/nginx/sbin
mv nginx nginx.old

第四步:拷贝新编译好的nginx命令文件到/usr/local/nginx/sbin目录

cd /server/tools/nginx-1.16.0/objs
cp nginx /usr/local/nginx/sbin

第五步:重新加载nginx配置文件

nginx -s reload

第六步:查看编译模块信息

[root@inode3 sbin]# nginx -V
nginx version: nginx/1.16.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx \
 --user=www --group=www --with-http_ssl_module \
 --with-http_stub_status_module --with-http_gunzip_module

三、添加第三方模块

添加第三方模块的方式与添加nginx模块的方式一样,不同的地址在使用"-add-module=模块绝对路径",在configure编译时添加即可。

./configure --prefix=/usr/local/nginx --user=www --group=www \
            --with-http_ssl_module --with-http_stub_status_module \
            --with-http_gunzip_module -add-module=模块的绝对路径

添加第三方echo模块

./configure \
--prefix=/apps/nginx \
--user=nginx --group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_perl_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module \
--add-module=/usr/local/src/echo-nginx-module #echo模块的路径
make && make install

注意:添加第三方模块,需要nginx -s stop


stub_status模块功能及第三方echo模块的加载

本文由傻鸟发布,不代表傻鸟立场,转载联系作者并注明出处:https://shaniao.net/jishu/182.html

加载中~

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:10:30-15:30,节假日休息