Nginx 模块

本贴最后更新于 2253 天前,其中的信息可能已经时过境迁

####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 就可以看到状态信息了

36127141bb9b47a2bddc1355f1b62389-httpstubstatusmoduleimg.png

Active connections 为当前活跃连接数

server accepts handled requests 对应的数值分别表示接受的请求数,处理的请求数,总的请求数。通常 acceptshandled 值应该是相等的,表示没有丢失请求

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";
    }

显示效果

60b3c298b0a141f1b4aaa39335c4bf40-httpsubfiltermoduleimg.png

第三方模块

个人或组织开发的没有包含在官方源码包中的模块

  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖 • 34 关注

相关帖子

回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 426 关注
  • OnlyOffice
    4 引用 • 19 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 109 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    324 引用 • 1395 回帖 • 2 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 30 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    27 引用 • 66 回帖 • 1 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 370 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    83 引用 • 165 回帖 • 40 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 349 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    284 引用 • 4481 回帖 • 654 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    19 引用 • 31 回帖 • 5 关注
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 497 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 906 回帖 • 193 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 1 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 218 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 8 关注
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 462 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    22 引用 • 31 回帖 • 3 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1425 引用 • 10043 回帖 • 470 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    21 引用 • 58 回帖
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 602 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 23 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    140 引用 • 441 回帖 • 1 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖 • 1 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 687 关注