####Nginx 模块
Nginx 可以通过 nginx -V
命令查看已加载的模块
Nginx 官方模块
Nginx 源码包中所包含的模块
- http_stub_status_module
用于监控 Nginx 客户端状态信息,如果是编译安装的话默认是不会安装的,需要使用 --with-http_stub_status_module
参数开启
- 配置语法
Syntax: stub_status;
Default: —
Context: server, location
默认是没有开启的,直接在配置文件中加入 stub_status
参数就可以开启了,他可以配置在 server
, location
模块中
- 实例
location /status {
stub_status;
}
在地址栏中输入 Nginx 服务端 IP/status 就可以看到状态信息了
Active connections
为当前活跃连接数
server accepts handled requests
对应的数值分别表示接受的请求数,处理的请求数,总的请求数。通常 accepts
与 handled
值应该是相等的,表示没有丢失请求
Reading
正在读的连接数
Writing
正在写的连接数
Waiting
等待中的连接数(已建立连接但什么也没做)
- http_random_index_module
在目录中随机选择一个文件作为主页响应给客户端。编译时默认为关闭,使用 --with-http_random_index_module
参数开启
- 配置语法
Syntax: random_index on | off;
Default: random_index off;
Context: location
默认为关闭状态。只能在 location
模块中配置
- 实例
在 /opt/website/
目录中建立三个 html 文件,内容分别为 h1
, h2
, h3
的标题
location / {
root /opt/website/;
random_index on;
}
打开页面后不停刷新就可以看到效果了
- http_sub_module
这个模块是一个过滤器,他用来将响应内容中指定的字符串进行替换后在响应给客户端
在这个模块中有四个指令可以使用,常用的就是 sub_filter
指令
- sub_filter 配置语法
Syntax: sub_filter string replacement;
Default: —
Context: http, server, location
string
为要替换的原字符串
replacement
为替换后的字符串
他可以在 http
, server
, location
模块中配置,如果配置在 http
模块中那将对所有 server
都生效
- sub_filter_last_modified 配置语法
Syntax: sub_filter_last_modified on | off;
Default: sub_filter_last_modified off;
Context: http, server, location
用于校验客户端请求内容是否有发生改变,如果有发生改变就将新的内容响应给客户端。主要用在缓存场景中。
- sub_filter_once 配置语法
Syntax: sub_filter_once on | off;
Default: sub_filter_once on;
Context: http, server, location
字符匹配范围,如果为开启状态那就只匹配一次,如果为关闭状态那将把所有能匹配上的字符都进行一次匹配
- 实例
页面文件中的内容为 “This is a string abc”, 将小写的 “abc” 替换为大写的 “BAC”
location / {
root /opt/website/;
index index.html index.htm;
sub_filter "abc" "BAC";
}
显示效果
第三方模块
个人或组织开发的没有包含在官方源码包中的模块
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于