好用的Nginx扩展-你安装了几个?

VPS消息6字数 2181阅读模式

Nginx有非常多强悍的扩展。宝塔面板默认安装了也有很多,不过由于Nginx过于灵活,众多的扩展有些人需要有些人不需要,所以有的时候我们为了满足功能上的需求,需要自己手动增加扩展。

比如说brotli、cache-purge这些,宝塔面板默认已经安装好了cache-purge不过brotli没有安装,如果需要的话要自己动手。大鸟也分享过如何安装brotli的教程。

这篇文章,大鸟来简单介绍下一些优秀的Nginx扩展……

brotli

好用的Nginx扩展-你安装了几个?

比 gzip 更好的压缩算法,几乎所有主流浏览器都已支持 Brotli 算法。详情见上面的文章教程。

cache-purge

好用的Nginx扩展-你安装了几个?

缓存清理模块,支持清理FastCGI、proxy、SCGI和uWSGI的缓存。这就不多说了,宝塔默认是安装的,而且大鸟博客启用的nginx缓存就需要配合cache-purge。

concat

好用的Nginx扩展-你安装了几个?

我们知道浏览器一次请求只能并发访问数个资源,这样的处理错输在网络传输层面可以大大节省时间,这里使用的技术就是把css、js等静态资源合并为一个资源。淘宝使用的tengine是基于nginx的web服务器,从11年底开源。所使用的是mod_concat模块,合并多个文件在一个响应报文中。

ct

好用的Nginx扩展-你安装了几个?

Certificate Transparency(证书透明化)支持模块。IETF 在2013年启动了一个叫做Certificate Transparency的开源项目,把所有已知的合法证书做了一个白名单,浏览器在验证证书的时候同时也会去查看这个证书是不是在白名单里面。 如果不在的话,就会告知用户这个证书找不到记录,于是,有可能是假或者是被盗的证书。 总之呢,CT 就是为了规避上面的几个“不过”,并让你的 HTTPS 更加安全的一个措施。

目前只有基于 Chrome 内核的浏览器支持 Certificate Transparency。所以有没有设置 CT 也就只有哪些浏览器才会有表现。

footer-filter

好用的Nginx扩展-你安装了几个?

在请求的响应末尾输出一段内容。输出内容可配置,并支持内嵌变量。

geoip

好用的Nginx扩展-你安装了几个?

IP地址地理位置查询模块。

geoip2

好用的Nginx扩展-你安装了几个?

IP地址地理位置查询模块,GeoIP2版本。

headers-more

好用的Nginx扩展-你安装了几个?

nginxheaders_more模块用于 添加、修改或清除 请求/响应头,该模块不是nginx自带的,默认不包含该模块,需要另外安装。

该模块主要有4个指令

more_set_headers 用于 添加、修改、清除 响应头

more_clear_headers 用于 清除 响应头

more_set_input_headers 用于 添加、修改、清除 请求头

more_clear_input_headers 用于 清除 请求头

image-filter

好用的Nginx扩展-你安装了几个?

图片处理模块。

lua

好用的Nginx扩展-你安装了几个?

lua支持模块。Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。

naxsi

好用的Nginx扩展-你安装了几个?

Naxsi是一个开放源代码、高效、低维护规则的Nginx web应用防火墙(Web Application Firewall)模块。Naxsi的主要目标是加固web应用程序,以抵御SQL注入、跨站脚本、跨域伪造请求、本地和远程文件包含漏洞。

官网地址:https://github.com/nbs-system/naxsi

njs

nginScript支持模块。

pagespeed

好用的Nginx扩展-你安装了几个?

优化重写页面以减少延时、降低带宽使用量。因为某些原因,这个没有推广起来啊。这个大鸟博客有教程。

perl

Perl支持模块。

replace-filter

对响应内容进行正则表达式替换。

nginx-rtmp-module

好用的Nginx扩展-你安装了几个?

直播模块。使用nginx与nginx-rtmp-module搭建流媒体服务器

nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module

sysguard

 

监控系统的负载和资源占用从而对系统进行保护。淘宝开发的模块nginx-http-sysguard,主要用于当负载和内存达到一定的阀值之时,会执行相应的动作,比如直接返回503,504或者其他的.一直等到内存或者负载回到阀值的范围内,站点恢复可用。简单的说,这几个模块是让nginx有个缓冲时间!

xslt

XML样式渲染转换模块。

ngx_http_xslt_module模块是一个使用多个 XSLT stylesheets(样式表)将xml相应进行相应变换的过滤器模块。

这个模块不是内建模块,他应该采用–with-http_xslt_module配置参数使能编译。

这个模块需要libxml2及libxslt库的支持。

小结

这篇文章,配图有点多啊,不敢配图不敢配图,有侵权的可以联系我,Nginx扩展还有很多,我们看看宝塔面板自带的扩展全家福:

好用的Nginx扩展-你安装了几个?

额,自带的有好多,真的好多……

weinxin
我的微信
微信公众号
关注大鸟博客公众号
 
大鸟
评论  6  访客  4  作者  2
    • 三石
      三石 5

      这周可以再折腾下了

        • 大鸟
          大鸟

          @ 三石 brotli扩展要装的,我的站就已经启用了,还可以和Gzip和谐共存!有的浏览器对brotli不支持,会默认启用Gzip,所以必须装!

        • 大牙鱼
          大牙鱼 3

          看了pagespeed这篇文章,请问pagespeed有必要装吗?

            • 大鸟
              大鸟

              @ 大牙鱼 额,没必要装哈,我是自己搞着玩的。

            • 小石
              小石 2

              oneinstack路过,不懂咋整

              • micateam
                micateam 0

                鸟哥:可以出下 njs 的宝塔安装吗
                根据官网 https://nginx.org/en/docs/njs/install.html

                要从源头构建 不是很懂,njs的安装好像不一样

              匿名

              发表评论

              匿名网友

              :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

              确定