css怎么把多个块合并,使用Tengine concat模块合并多个CSS,JS 请求

上一篇文章介绍了怎么安装Tengine 这一篇就介绍安装concat模块合并网站多个css和js请求

Tengine所有的HTTP功能模块,都可以在configure的时候,通过 –with-http_xxxx_module=shared 的形式编译为动态加载模块,如果不指定=shared 则会被静态编译到Tengine的核心中;安装动态加载模块用 make dso_install命令;

编译启用动态加载模块: mod_concat

编译时需要openssl源码 我把源码放到/root 下了

wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz

tar -zxvf openssl-1.0.0a.tar.gz

编译模块

./configure –prefix=/usr/local/nginx \

–with-openssl=/root/openssl-1.0.0a/ \

–with-http_concat_module=shared

make dso_install

编译安装完成后,ngx_http_concat_module.so文件会被安装到Tenginx安装目录下的modules目录内;

编辑nginx.conf配置文件,添加如下代码,让Tengine启动时动态加载刚刚编译的ngx_http_concat_module.so

user www www;

worker_processes auto; #Tengine独有特性,支持自动按CPU数量绑定worker进程

dso {

load ngx_http_concat_module.so; #加载动态加载模块

}

重启Tengine,查看已加载模块

service nginx restart

/usr/local/nginx/sbin/nginx -l         #列出Tenginx所有支持的功能模块(包括静态与动态模块)

output_buffers

ngx_http_range_body_filter_module:

ngx_http_not_modified_filter_module:

ngx_http_concat_module (shared):

concat

concat_max_files

concat_unique

concat_types

concat_delimiter

concat_ignore_file_error

页面中的多次js和css请求,通过??符合,以逗号分隔,合并成了一个http连接如下:

http://www.xx.com/static/js/??jquery.min.js,custom.js,superfish.js,muscript.js

前面Tenine动态加载了ngx_http_concat_module 就是为了处理这样的请求,将多个JS或CSS文件的内容通过一个http响应报文中返回给浏览器;以减少浏览器连接服务器的次数;

具体配置:

从上面的网页源代码中,我们看到该主题所需要的所有JS和CSS文件都存放在 wp-content/themes/HotNewspro 这个路径下,所以我们需要修改网站的nginx配置文件中,使Tengine针对这个目录启用 concat函数;在原有网站配置文件的server段中添加如下内容:

location /static/ {

concat on;                        #启用concat函数

concat_unique off;                #允许返回不同类型的文件内容(js,css同时合并)

concat_delimiter “\n”;            #自动在返回每个文件内容的末尾添加换行符

concat_ignore_file_error off;     #不要忽略所合并的文件不存在等错误

}

重新reload nginx后,修改网站的主题模板代码,将模板中在同一位置输出多行JS和CSS的地方全部改成用??连接,逗号分隔每个请求的文件名的形式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值