zoukankan      html  css  js  c++  java
  • Nginx合并静态资源,以减轻web服务器压力

    Nginx concat模块由淘宝开发,并且淘宝已经在使用这个Nginx模块。这个模块类似于apache中的modconcat。如果需要使用它,需要使用两个?问号。Nginx concat通过合并静态文件来减少http请求数来达到优化前端性能,可以在一定程度上能减少web服务器的压力。

    1、下载nginx-http-concat源码包解压
    [root@raykaeso ~]# wget https://codeload.github.com/alibaba/nginx-http-concat/zip/master
    [root@raykaeso ~]# unzip master
    [root@raykaeso ~]# cd nginx-http-concat-master/

    2、编译第三方模块nginx-http-concat
    [root@raykaeso ~]# ./configure --with-http_stub_status_module --add-module=../nginx-http-concat-master/
    [root@raykaeso ~]# make

    3、替换sbin/nginx 命令
    [root@raykaeso ~]# cp ./objs/nginx /usr/local/nginx/sbin/

    4、查看nginx编译的参数
    [root@raykaeso ~]# /usr/local/nginx/sbin/nginx -V
    nginx version: nginx/1.6.2
    built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
    configure arguments: --with-http_stub_status_module --add-module=../nginx-http-concat-master/

    5、配置文件
    [root@raykaeso ~]# vi /usr/local/nginx/conf/nginx.conf
    location /css/ {
    concat on;
    concat_max_files 20;
    concat_unique off;
    }
    [root@raykaeso ~]# /usr/local/nginx/sbin/nginx -s reload

    6、查看效果:http://192.168.4.170/css/??a.css,b.css,c.css,每个css文件只有一个class类。
    nginx-http-concat
     
     

    那 nginx-http-concat-master 模块中主要包含两个配置参数,concat 和 concat_unique ,concat 则用于开启或关闭请求合并功能,可以应用于http,server,location;而concat_unique 用来配置是否只允许同类型文件(相同MIME文件)合并,应用于http,server,location 区段中。

    第三方模块编译安装参数:

    这里写图片描述

    一、concat

    语法:concat on | off 
    默认:concat off 
    配置段:http,server,location

    主要是用来设置开启或关闭请求合并功能,默认为关闭,如(开启concat功能):

    这里写图片描述

    注释: 
    concat_types MIME 默认的类型为:text/css application/x-javascript,当然也可以通过 concat_types MIME types进行设置。

    二、concat_unique

    语法:concat_unique on | off 
    默认:concat_unique on 
    配置段:http,server,location

    是否只允许同类型文件(相同MIME文件)合并。例如,设置为off,那么js和css文件可以合并;默认情况下,这个值为on,意味着只有相同的类型的文件才能合并;如果希望js和css能够合并为一个请求,那么你必须设置concat_unique off,其他类型文件也可以用同样的方式合并。如(允许不同类型的MIME文件进行合并):

    这里写图片描述

    三、concat_max_files

    语法:concat_max_files number 
    默认:concat_max_files 10 
    配置段:http,server,location

    定义一个给定配置段里面允许合并的文件数量,默认最多10个,不过一定要注意,uri不要超过系统规定的page size,在linux里面执行getconf PAGESIZE 可以获取系统的限制,通常限制是4096字节。

    这里写图片描述

    如配置最大合并文件为20个,则平均每个被合并的文件大小为4096/20,大约200字节每只。

    这里写图片描述

    四、配置使用示例

    concat on; 
    开启请求文件合并功能

    concat_max_files 20; 
    定义最大文件合并数量为20个

    concat_unique off; 
    允许不同类型的文件进行合并

    这里写图片描述

    模块地址:https://yunpan.cn/cqSKP6BrJ2AeT 访问密码 4f50

     
  • 相关阅读:
    【java】i++与++i、i--运算
    配置ssh框架启动tomcat服务器报异常Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
    jsp页面第一句话报这个错Syntax error, insert "}" to complete
    oracle忘记密码用户名被锁定_解决方案
    关于c#的单例模式,static 变量,下面一篇很不错
    Entity Framework 冲突检测,这一篇我看了比较明了
    关于lambda表达式与使用局部变量的作用域问题,下面这篇不错
    C# SelectMany 的使用
    UML类图 入门 (转载)
    VS code key shortcuts for windows
  • 原文地址:https://www.cnblogs.com/Mr-Rocker/p/7646437.html
Copyright © 2011-2022 走看看