Nginx模块分为:nginx官方模块、第三方模块
通过nginx -V查看编译参数,可以看到官方编译的模块
--with-compat
--with-file-aio
--with-threads
--with-http_addition_module
--with-http_auth_request_module
--with-http_dav_module
--with-http_flv_module
--with-http_gunzip_module
--with-http_gzip_static_module
--with-http_mp4_module
--with-http_random_index_module
--with-http_realip_module
--with-http_secure_link_module
--with-http_slice_module
--with-http_ssl_module
--with-http_stub_status_module
作用:nginx的客户端连接状态
Syntax:stub_status;
Default:——
Context:server,location
--with-http_sub_module
--with-http_v2_module
--with-mail
--with-mail_ssl_module
--with-stream
--with-stream_realip_module
--with-stream_ssl_module
--with-stream_ssl_preread_module
--with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
--param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC'
--with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
--with-http_stub_status_module
作用:nginx的客户端连接状态
Syntax:stub_status
Default:——
Context:server,location
演示:
vi /etc/nginx/conf.d/default.conf
配置如图下:
location /mystatus {
stub_status;
}
使用配置是否正确
nginx -tc /etc/nginx/nginx.conf
然后重载服务
nginx -s reload -c /etc/nginx/nginx.conf
在浏览器中输入ip+路径
http://192.168.96.188/mystatus
Active connections: 1 #当前活跃的连接数
server accepts handled requests
1 1 1 # 第一个值代表握手总次数;第二个值代理处理的连接数;第三个值是总的请求数;(握手次数一般都等于连接数,代表连接没有丢失)
Reading: 0 Writing: 1 Waiting: 0 #读、写、等待
--with-http_random_index_module
作用:目录中选择一个随机主页
Syntax:random_index on | off
Default:random_index off
Context:location
演示:
在/opt/app/code目录下定义3个html文件1.html、2.html、3.html
分别复制如下代码
<html>
<head>
<meta charset="utf-8">
<title>imooc1</title>
</head>
<body style=""> # 红色
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<title>imooc1</title>
</head>
<body style=""> #黑色
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<title>imooc1</title>
</head>
<body style=""> #蓝色
</body>
</html>
修改配置文件
vi /etc/nginx/conf.d/default.conf
location / {
root /opt/app/code;
random_index on;
#index index.html index.htm;
}
查看配置是否正确
nginx -tc /etc/nginx/nginx.conf
然后重载服务
nginx -s reload -c /etc/nginx/nginx.conf
在浏览器中访问ip,刷新页面就会变颜色了
--with-http_sub_module
作用:http内容替换
#1语法
Syntax:sub_filter string replacement
Default:——
Context:http,server,location
#2语法
Syntax:sub_filter_last_modified on|off
Default:sub_filter_last_modified off
Context:server,location
#3语法
Syntax:sub_filter_last_once on | off
Default:sub_filter_last_once on
Context:http,server,location
演示:
在/opt/app/code目录下添加html文件
复制如下代码,保存
<html>
<head>
<meta charset="utf-8">
<title>submodules</title>
</head>
<body>
<a>joy</a>
<a>at</a>
<a>imooc</a>
<a>joy</a>
<a>imooc</a>
</head>
</body>
</html>
访问 192.168.96.188/submodule.html。
通过配置语法替换“imooc“”的内容为“IMOOC_JOY”
vi /etc/nginx/conf.d/default.conf
加入下列代码
location / {
root /opt/app/code;
index index.html index.htm;
sub_filter '<a>imooc' '<a>IMOOC_JOY'; #sub_filter 后面添加需要替换内容,已经替换后的内容
}
访问 192.168.96.188/submodule.html
默认只替换一个
如果替换全部,加入新的语法
location / {
root /opt/app/code;
index index.html index.htm;
sub_filter '<a>imooc' '<a>IMOOC_JOY';
sub_filter_once off; #在原有基础加上此模块,off 关闭
}
保存访问地址,记得强刷或者清理缓存,此时内容全部替换