利用nginx concat模块合并js css
前言:
nginx-http-concat模块是由淘宝网开发的,现在淘宝网合并js和css正是用这个模块,如链接http://a.tbcdn.cn/??s/kissy/1.2.0/kissy-min.js,p/global/1.0/global-min.js,p/fp/2012/core.js,p/fp/2012/fp/module.js,p/fp/2012/fp/util.js,p/fp/2012/fp/directpromo.js?t=2012080620120924.js就是合并了kissy-min.js、global-min.js、core.js、module.js、util.js,directpromo.js等js文件。
环境:
Ubuntu 15.04 64位
步骤:
一、环境准备
安装Nginx之前要先准备好Ubuntu 15的环境,安装好Ubuntu系统之后,还需要安装以下组件:
1、apt-get install openssh-server
Windows用XShell连接,Mac 用自带的Terminal连接
2、sudo apt-get install libssl-dev
3、sudo apt-get install build-essential
编译Nginx和Nginx concat用到
4、sudo apt-get install vim
Linux下强大的编辑器
5、sudo apt-get install git
安装Git用于获取Nginx concat包
6、sudo apt-get install libpcre3 libpcre3-dev
安装Perl库,编译Nginx用到
7、sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
测试Nginx页面
二、安装Nginx
1、下载Nginx
http://nginx.org/download/
mkdir /usr/local/Nginx
cd /usr/local/Nginx
wget http://nginx.org/download/nginx-1.9.9.tar.gz
tar zxvf nginx-1.9..tar.gz
2、下载nginx-http-concat
git clone https://github.com/idefav/nginx-http-concat
mv nginx-http-concat /usr/local/src
三、编译
cd ./nginx-1.9.
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --add-module=/usr/local/src/nginx-http-concat
make && make install
四、配置
打开配置文件
vim /usr/local/nginx/conf/nginx.conf
1、CSS
location /static/css/ {
concat on;
concat_types text/css;
concat_max_files ;
}
2、JS
location /static/js/ {
concat on;
concat_types application/javascript;
concat_max_files 30;
}
3、混合
location /static/all/ {
concat on;
concat_types text/css application/javascript;
concat_max_files ;
concat_unique off;
}
五、启动Nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
六、测试
curl http://localhost/static/??jquery.js,jquery.corner.js
七、开启Gzip
配置Gzip
gzip on;
gzip_min_length 1k;
gzip_buffers 16k;
gzip_disable "MSIE [1-6]\.";
gzip_vary off;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/javascript;
gzip_comp_level ;
重启Nginx
/usr/local/nginx/sbin/nginx -s reload
测试
/usr/local/nginx# curl -I -H "Accept-Encoding: gzip, deflate" http://192.168.19.128/static/??jquery.js,jquery.corner.js
利用nginx concat模块合并js css的更多相关文章
- 转:利用node压缩、合并js,css,图片
1.安装nodejs http://nodejs.org/ 2.安装各自的node package js我用的是UglifyJS github地址:https://github.com/mishoo/ ...
- Grunt的配置及使用(压缩合并js/css)
Grunt的配置及使用(压缩合并js/css) 安装 前提是你已经安装了nodejs和npm. 你能够在 nodejs.org 下载安装包安装.也能够通过包管理器(比方在 Mac 上用 homebre ...
- Tengine的concat模块与js、css合并
首先,先走出一个误区 ,下面是tengine-cn邮件列表里的一篇邮件原文:“看了这个例子就了解了,这个所谓的合并请求只是把所有的CSS或JAVASCRIPT请求合并,必须是同一个文件类型的.我开始想 ...
- 前端构建工具 Gulp 压缩合并JS/CSS 并添加版本号、ES6转ES5
Gulp 基于 Node.js 的前端构建工具,可以实现前端代码的编译(sass.less).压缩合并(JS.CSS).测试:图片的压缩:已经添加 JS 和 CSS 版本号,防止浏览器缓存. 1. 安 ...
- Web性能优化之动态合并JS/CSS文件并缓存客户端
来源:微信公众号CodeL 在Web开发过程中,会产生很多的js/css文件,传统的引用外部文件的方式会产生多次的http请求,从而加重服务器负担且网页加载缓慢,如何在一次请求中将多个文件一次加载出来 ...
- maven 压缩、合并 js, css
转载自:http://blog.csdn.net/fangxing80/article/details/17639607 我们知道在 Web 应用开发中为了提高客户端响应速度,需要将页面使用的资源最小 ...
- nginx concat模块配置 页面返回400 bad request
在1.4.x版本的nginx没有发现这个问题,但是在1.5.x版本就遇到了这个问题 由于Nginx在新版本中,使用了标准的 MIME-Type:application/javascript.而在ngi ...
- nginx js、css多个请求合并为一个请求(concat模块)
模块介绍 mod_concat模块由淘宝开发,目前已经包含在tengine中,并且淘宝已经在使用这个nginx模块.不过塔暂时没有包含在nginx中.这个模块类似于apache中的modconcat. ...
- 引用:使用grunt 压缩 合并js、css文件
引用:https://www.jianshu.com/p/08c7babdec65 压缩 js 文件 1.创建一个目录 名为grunt 目录.png 2.在grunt目录下创建一个 src目录,存 ...
随机推荐
- Object修改链表
以前学习过链表的时候由于类型的接收不同,每次要重写链表 下面修改可用链表 class Link{ private class Node{ private Object data ; private N ...
- argparse 命令含参数模块
argparse是python的一个命令行参数模块,可以解析命令行参数,生成帮助等. 你可以这样使用它: #!/usr/bin/python from argparse import Argument ...
- oracle系列--解锁数据库
一.安装完成后解锁Scott数据库步骤: 进入SQL Plus 请输入用户名:sys输入口令:sys as sysdba //这里的口令是不可见的,注意空格SQL> alter user sc ...
- 12.TCP的成块数据流
1.滑动窗口协议 TCP滑动窗口的可视化表示 我们将字节从1到11进行标号,接收方通告的窗口称为提供的窗口,它覆盖了第4字节到第9字节的数据,且通告窗口大小为6.发 ...
- 利用cocoapods创建基于git的私有库
上一篇文章记录了我利用cocoapods创建基于SVN的私有库的全部过程,今天我再记录一下基于git创建的过程. 整体先说明一下创建一个私有的podspec包括如下那么几个步骤: 创建并设置一个私有的 ...
- MySQL的"旁门左道"用法总结
不断更新. 一.显示当前MySQL服务的版本:1是直接在查询窗口select version();2是show variables like 'version';
- YII 数据库,模型,登录验证
//protected/config/main.php //数据库连接设置 'db'=>array( 'connectionString' => 'mysql:host=localhost ...
- Jq对象与dom对象的互相转换!
JQ对象转化成dom对象 var a=$('div'); var b=a[0];//dom对象 转化成dom对象以后就可以使用dom方法了 dom对象转化成jq对象 var a=document.ge ...
- 部署statspack工具(二)之解决方案2
解决方案二:在emp2的empno列上面创建索引,再执行share_pool_sql_1.sh脚本,查看sp报告 8.1在emp2的empno列上创建索引 sys@TESTDB12>create ...
- JDK中的插入排序
算法 有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法--插入排序法,插入排序的基本操作就是将一个数据插入到已经排好 ...