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

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 http://nginx.org/download/nginx-1.16.0.tar.gz
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

posted @ 2020-09-11 11:33  yaowx  阅读(184)  评论(0编辑  收藏  举报