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-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

 

Nginx合并静态资源,以减轻web服务器压力的更多相关文章

  1. 降低web服务器压力

    一.越来越多的并发连接数 现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战.以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置.虽然现 ...

  2. Nginx之静态资源WEB服务

    本篇主要记录学习Nginx的静态资源WEB服务的几种常见的功能记录学习 Nginx开发常用的命令 nginx -tc /etc/nginx/nginx.conf vim /etc/nginx/conf ...

  3. nginx 作为静态资源web服务

    Nginx作为静态资源web服务 静态资源web服务-CDN场景 Nginx资源存储中心会把静态资源分发给“北京Nginx”,“湖南Nginx”,“山东Nginx”. 然后北京User发送静态资源请求 ...

  4. Nginx作为静态资源web服务之缓存原理

    Nginx作为静态资源web服务之缓存原理 大致理一下http浏览器缓存原理: 浏览器第一次请求服务器,此时浏览器肯定没有缓存,则直接调用服务器端,服务器在返回的信息的信息头中添加 ETag和Last ...

  5. HappyAA服务器部署笔记2(nginx的静态资源缓存配置)

    我近期对服务器进行了少量改进,虽然之前使用了nginx反向代理之后性能有所提高,但仍然不够,需要使用缓存来大幅度提高静态资源的访问速度. 服务器上的静态资源主要有这些:png, jpg, svg, j ...

  6. Nginx作为静态资源web服务之防盗链

    Nginx作为静态资源web服务之防盗链 首先,为什么需要防盗链,因为有些资源存在竞争对手的关系,比如淘宝的商品图片,不会轻易的让工具来爬虫爬走收集.但是如果使用防盗链,需要知道上一个访问的资源,然后 ...

  7. Nginx作为静态资源web服务之跨域访问

    Nginx作为静态资源web服务之跨域访问 首先了解一下什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器施加的安全限制. 所谓同源是指,域名,协议,端口均相 ...

  8. Nginx作为静态资源web服务之文件读取

    Nginx作为静态资源web服务之文件读取 文件读取会使用到以下几个配置 1. sendfile 使用nginx作为静态资源服务时,通过配置sendfile可以有效提高文件读取效率,设置为on表示启动 ...

  9. linux使用Nginx搭建静态资源服务器

    最近公司需要做一个宣传片播放  视频有点大 好几百M 就想到使用Nginx来代理静态资源,在过程中出现了一些问题,比如端口没开.访问是403等,没有成功,后面慢慢查找问题,才发现大部分博客资料的都不全 ...

随机推荐

  1. 课下作业04-2String的使用方法

    1.动手动脑之String.equals()方法public class StringEquals { public static void main(String[] args) { String ...

  2. 如何用VS2017用C++语言写Hello world 程序?

    1,首先,打开VS2017. 2,左上角按文件——新建——项目,或按ctrl+shift+n. 3,按照图片里的选,选完按“确定”. 4,右键“源文件”,再按添加——新建项. 5,剩下的就很简单了,只 ...

  3. 【动态规划】bzoj1939: [Croatian2010] Zuma

    隐约记得类似的一道JSOI祖玛……然后好像这题不能够把珠子合并成一段?或许是因为这里珠子碰在一起之后可以不消除? Description 有一行 N 个弹子,每一个都有一个颜色.每次可以让超过 K 个 ...

  4. PHP RBAC权限控制,基于CI框架(版本3.1.9)

    2018年11月7日更新:目前功能已做到事件级别权限控制,如:后台用户的添加操作.删除操作和保存操作等具体到事件级的操作方法有权限则展示相应的操作菜单,没权限则隐藏相应菜单或提示无权限到目前算是真正做 ...

  5. 【MySQL】mac环境下使用navicat premium连接mysql乱码问题

    ---恢复内容开始--- 最重要的两点:使用navicat premium创建mysql连接和在mysql连接里面创建数据库时,需要注意. 1.创建连接时,Encoding不需要手动选择,保持Auto ...

  6. 地理位置编码geohash学习笔记

    1.geohash及其性质 一种空间索引技术. (1)将二维的经纬度位置数据转换为一维的字符串(基本上hash族的算法都是这样): 其优点在于hash编码后的字符串,可以方便查找和索引,从而减少相似计 ...

  7. day14-推导式和生成器表达式

    1.推导式规则 [每一个元素或者是和元素相关的操作 for 元素 in 可迭代数据类型] ----------遍历之后挨个处理[满足条件的元素相关的操作 for 元素 in 可迭代数据类型 if 元素 ...

  8. cpu位图

    SMP处理器中要用到cpu位图,用来维护系统内CPU的状态信息,具有代表性的有: cpu_possible_map.cpu_online_map.cpu_present_map. static DEC ...

  9. HDU 5236 Article 期望

    题意: 你现在要打\(n\)个字符,但是程序随时可能会崩溃. 你可以在恰当的时机按下 \(Ctrl-S\)键,崩溃后,会从最后一次保存的情况继续开始打字. 具体是这样的: 在每个第\(i-0.1s(i ...

  10. Service 回顾

    绑定本地service需要实现onBind()方法