Nginx8-Nginx状态、文本替换、Last-Modify模块

模块分类

  1. Nginx官方模块
  2. 第三方模块

查看已经有的模块

使用nginx -V 可以看见nginx已经编译安装进去的模块(以 –with开头的)

Nginx状态模块

模块名: –with-http_stub_status_module

1
2
3
4
语法:stub_status;
默认:没有进行配置
位置:可以在server下、location下
作用:得到Nginx目前的状态

例如,在default.conf中配置如下

测试配置是否正确,且重加载服务

测试

1
2
3
第一行2表示活跃的连接数
第二行9 9 12 表示 握手数、连接数、总请求数目。一般情况下 握手数等于连接数,代表数目包没有丢失
第三行表示当前有0个在读、1个在写、1个在等

HTTP内容替换模块

模块名称: –with-http_stub_module

  1. sub_filter

    1
    2
    3
    4
    语法:sub_filter + 要替换的文本 + 替换的文本
    默认:默认没有被配置
    位置:可以在server下、localtion下
    作用:替换html内容
  2. sub_filter_once

    1
    2
    3
    4
    语法:sub_filter_once + on | off
    默认:默认是on
    位置:可以在http下 server下 location下
    作用:替换html内容、控制替换一次还是全部

演示:将rex 全部替换为rexyan
替换前:

配置:

替换后:

  1. sub_filter_last_modified
    1
    2
    3
    4
    语法:sub_filter_last_modified + on | off
    默认:默认是off
    位置:可以在http下 server下 location下
    作用:判断文件是否有更新,或者有修改。返回的就是浏览器中 Last-Modified

配置:
如果不配置sub_filter_last_modified on;那么每次请求都是200,配置之后,有了304状态(表示有缓存)