美文网首页
Nginx模块讲解

Nginx模块讲解

作者: 码农小杨 | 来源:发表于2018-01-24 23:02 被阅读0次

nginx的模块有官方模块和第三方模块之分。

我们在终端中可以查看nginx加载的模块有哪些

 --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 --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 
http_stub_status_module模块讲解:
编译选项:--with-http_stub_status_module 
作用:Nginx的客户端状态

主要用于展示当前处理链接的状态,用于监控链接信息

配置语法:

Syntax:stub_status;
Default:——
Context:server,location

例子:
我们编辑默认配置文件,添加自己的配置

[root@hongshaorou conf.d]# pwd
/etc/nginx/conf.d
[root@hongshaorou conf.d]# vim default.conf 
图片.png

编辑完成检查配置是否正确

[root@hongshaorou conf.d]# nginx -tc /etc/nginx/nginx.conf 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

正确之后重启服务

[root@hongshaorou conf.d]# nginx -s reload -c /etc/nginx/nginx.conf

重启服务之后我们在浏览器中输入对应的url地址


图片.png

第一行展示的是当前活跃连接数
第二行第一个数字表示nginx接受的握手的总次数,第二个表示nginx所处理的连接数,最后一个表示请求数。正常情况连接数和握手数是相等的,表示没有丢失。
最后一行分别表示读写等待的数量,最后一个等待表示开启长连接时,客户端服务端既没有读也没有写仅仅建立连接的数量。

--with-http_random_index_module模块讲解
编译选项:--with-http_random_index_module
作用:主目录中选一个随机主页

配置语法:

Syntax:random_index on | off;
Default:random_index off;
Context:location

例子:生成随机页面

编辑默认配置文件


图片.png

我们重新设置了主目录文件,并且在主目录下新建了html文件

[root@hongshaorou code]# pwd
/opt/app/code
[root@hongshaorou code]# ls
1.html  2.html

检查重启:

[root@hongshaorou conf.d]# nginx -tc /etc/nginx/nginx.conf 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@hongshaorou conf.d]# systemctl reload nginx

然后在浏览器中输入主机IP,多次刷新页面就会在两个文件间来回切换。

注意:虽然nginx会将主目录下的文件作为随机主页,但是不会将隐藏文件包括在内,Linux的隐藏文件是指以点 . 开始的文件。

--with-http_sub_module模块讲解
编译选项:--with-http_sub_module
作用:HTTP内容替换

该模块是用于Nginx服务端在给客户端response内容的时候,进行HTTP内容更换。

语法:

Syntax: sub_filter string replacement; (string表示要替换的内容,replacement表示替换后的对象)
Default: —
Context: http, server, location
句法: sub_filter_last_modified on | off;
默认: sub_filter_last_modified off;
语境: http,server,location```

该模块用于判断每次请求的服务端内容是否发生变化,当发生变化的时候返回给客户端,当没有发生变化的时候,不再返回内容。重要用于缓存。

语法: sub_filter_once on | off;
默认值: sub_filter_once on;
配置段: http, server, location

字符串替换一次还是多次替换,默认替换一次,例如你要替换响应内容中的ttlsa为运维生存时间,如果有多个ttlsa出现,那么只会替换第一个,如果off,那么所有的ttlsa都会 被替换

详细例子参考文章:http://www.ttlsa.com/linux/nginx-modules-ngx_http_sub_module/

教程例子:
首先我们编写了一个html文件

[root@hongshaorou code]# ls
1.html  2.html  submodule.html
[root@hongshaorou code]# cat submodule.html 
<html>
<head>
    <meta charset="utf-8">
    <title>submodules</title>
</head>
<body>
    <a>jeson</a>
    <a>at</a>
    <a>imooc</a>
    <a>jeson</a>
    <a>imooc</a>
</body>
</html>

然后在浏览器中查看


图片.png

下面我们替换返回的数据


图片.png

然后重新加载服务

[root@hongshaorou conf.d]# nginx -tc /etc/nginx/nginx.conf 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@hongshaorou conf.d]# systemctl reload nginx

刷新刚才的网页


图片.png

我们发现已经发生了替换因为sub_filter_once默认开启,因此只替换了一个。

参考文章:https://www.jianshu.com/p/8b1ec83dc791

相关文章

  • Nginx模块讲解

    nginx的模块有官方模块和第三方模块之分。 我们在终端中可以查看nginx加载的模块有哪些 http_stub_...

  • Nginx服务器基本的模块配置和使用全攻略

    这篇文章主要介绍了Nginx服务器基本的模块配置和使用全攻略,从Nginx的安装开始细致入微地讲解各个常用模块的部...

  • 006、Nginx内置模块讲解

    一、查看内置了哪些模块 nginx -V 二、--with-http_stub_status_moudle 1、作...

  • 6.Nginx模块学习方法

    Nginx模块 Nginx模块分为 Nginx官方模块 和 第三方模块 , 这里我们拿Nginx官方模块来介绍一下...

  • Nginx核心模块以及指令介绍

    Nginx模块概览 Nginx核心模块以及指令介绍 注意:Nginx的核心模块包含主模块和事件模块,即上图的cor...

  • 应用运维面试核心

    面试题 Nginx模块 你以前用过哪些Nginx模块? upstream 是Nginx负载均衡模块 image ...

  • nginx内核原理

    Nginx的模块 Nginx由内核和模块组成。 Nginx的模块从结构上分为核心模块、基础模块和第三方模块: 核心...

  • nginx 源代码分析 (二)

    1. nginx模块 nginx的功能分布在nginx模块中,一个模块为一个功能单元。每个nginx模块都专注于自...

  • nginx 动态添加模块

    需要用到nginx的tcp模块,以前安装的nginx没有这个模块。 ./nginx -V 可以看到所有包含的模块(...

  • 8.nginx模块介绍

    nginx的模块 1.编译进nginx的模块2.提供那些配置3.模块合适被使用4.提供那些变量 查找nginx模块...

网友评论

      本文标题:Nginx模块讲解

      本文链接:https://www.haomeiwen.com/subject/xgmpaxtx.html