nginx-http-concat静态资源文件合并

模块介绍

nginx-http-concat 模块由淘宝开发,目前已经包含在tengine中,并且淘宝已经在使用这个nginx模块。不过它暂时没有包含在nginx中。这个模块类似于apache中的modconcat。如果需要使用它,需要使用两个"?"问号.

来个范例:

http://example.com/??style1.css,style2.css,foo/style3.css

以上将原先3个请求合并为1个请求

如果你担心文件被用户的浏览器缓存而没有及时更新,你依旧可以带上一个版本号的参数,如下:

http://example.com/??style1.css,style2.css,foo/style3.css?v=102234

1. 安装 nginx-http-concat

# cd /usr/local/src/
# wget http://nginx.org/download/nginx-1.4.2.tar.gz
# wget https://github.com/alibaba/nginx-http-concat/archive/master.zip -O nginx-http-concat-master.zip
# unzip nginx-http-concat-master.zip
# tar -xzvf nginx-1.4.2.tar.gz
# cd nginx-1.4.2
# ./configure --prefix=/usr/local/nginx-1.4.2 --with-http_stub_status_module --add-module=../nginx-http-concat-master
# make
# make install

2. 指令说明,

请参考 github中的模块说明,>>>这里

3. 配置nignx

server {
 
    listen       80;
    server_name  www.example.com;
 
    root /data/site/www.example.com;
    location /static/ {
        concat on;
        concat_max_files 20;
        concat_unique off;
    }
}

4. 验证模块安装成功

通过访问 http://example.com/??style1.css,style2.css,foo/style3.css , 可以返回的内容包含style1.css, style2.css, style3.css 的内容, 验证成功.

5. 结束语

使用nginx-http-concat 可以通过减少web请求在一定程度上减少web 服务器的压力, 但目前nginx-http-concat  和proxy_pass 还无法同时使用.  看到网上提到google的pagespeed模块, 还没有使用.

时间: 2024-10-16 16:14:33

nginx-http-concat静态资源文件合并的相关文章

linux下配置nginx使用ftp目录作为静态资源文件的目标目录

1.安装ftp服务,可以直接yum install vsftpd. 2.设置随机启动,chkconfig vsftpd on. 3.启动ftp服务,service vsftpd start. 4.配置nginx静态资源重定向. 假设我们在自定义目录/usr/local/app/yidoo/ebs-k3c/file/存放静态资源文件,希望当访问www.domain.com/file/*的时候,请求转发到/usr/local/app/yidoo/ebs-k3c/file/,此时nginx可以如下配置

静态资源文件自动压缩并替换成压缩版本(大型网站优化技术)

原文:静态资源文件自动压缩并替换成压缩版本(大型网站优化技术) 这一次,我总结和分享一项大型网站优化技术,那就是在项目中自动压缩静态资源文件(css.js),并让网站自动加载压缩后的资源文件.当然,这项技术在雅虎35条前端优化建议里也有记载,但它那只是给出一个理论的方案而已,并且采用的是外部压缩工具去压缩,而在我的项目中,是直接通过自己的程序自动化去压缩所有css.js文件,然后让页面直接加载所压缩后的资源,接下来直接进入主题. 本次实验使用的是PHP脚本语言,版本是PHP5.6,是在LINUX

SpringMVC对静态资源文件的访问(配置)

<!-- 自动扫描的包名 -->     <context:component-scan base-package="com.app,com.core,JUnit4" ></context:component-scan>          <!-- 默认的注解映射的支持 -->     <mvc:annotation-driven />          <!-- 视图解释类 -->     <bean cl

springmvc基础篇—处理图片静态资源文件

当我们在web.xml中对DispatcherServlet的过滤设置为/ 的时候,表示对所有的路径进行拦截过滤,那么不可避免的就会产生一个问题,那就是像图片这种静态资源文件我明明引用路径有,但就是加载不出来图片的情况,针对这种情况,下面做一些处理: 找到spring-mvc.xml配置文件 在里面写加上这行代码即可. <!-- 处理图片静态资源 --> <mvc:resources location="/images/" mapping="/images/

CDN的combo技术能把多个资源文件合并引用,减少请求次数

CDN的combo技术能把多个资源文件合并引用,减少请求次数.比如淘宝的写法: <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/??sm.min.css,sm-extend.min.css"> <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/??sm.min.js,sm-extend.m

Spring MVC程序中得到静态资源文件css,js,图片文件的路径问题总结

上一篇 | 下一篇 Spring MVC程序中得到静态资源文件css,js,图片 文件的路径 用 Spring MVC 开发应用程序,对于初学者有一个很头疼的问题,那就是程序数据都已经查询出来了,但界面样式仍然十分丑陋,加载不了 css,js,图片等资源文件.当你在浏览器上直接输入某个css文件的路径时,直接得到404错误,而路径肯定没有错,其原因就在于在web.xml 中配置了类似如下的 spring servlet: 程序代码 <servlet>    <servlet-name&g

Spring MVC 处理静态资源文件

摘要: 三个方案: 1.方案一:激活Tomcat的defaultServlet来处理静态文件 2.方案二: 在spring3.0.4以后版本提供了mvc:resources (需要配置annotation-driven) 3.方案三 ,使用<mvc:default-servlet-handler/>(需要配置annotation-driven) 一.问题:Spring MVC 处理静态资源文件 1. 以下情况需要先了解 1.1  如果你的DispatcherServlet拦截 *.do这样的U

SpringMVC 无法加载js,css等静态资源文件

最近在一些技术群里看到有些朋友的馈,SpringMVC 无法加载js,css等静态资源文件,运行时报无法找到异常.下面说下原因及解决方法: 由于SpringMVC支持较优雅的Rest风格的URL,url-patten又是配置的支持所有的模式,所以对于静态资源(css,js,html等)也会去进行匹配,一旦匹配失败控制台会抛URI匹配异常. 这种情况下,需要在SpringMVC配置中增加默认的配置 <mvc:default-servlet-handler/> 增加了上面这个配置之后,原来的Req

Django使用模板后无法找到静态资源文件

Django使用模板后无法找到静态资源文件 环境配置 Django版本1.11 python版本3.6.2 前言 在编写Django网站的时候,在涉及模板方面,一些简单的例子都没有问题,但这些例子都有一个共同点,那就是所使用的模板没有需要的静态资源文件.当涉及到模板中需要静态资源文件,如css,js等文件的时候,如果我们不做什么处理,直接按前端写好的给我们放入到templates文件中时,即如下形式: |templates |----js |--------xxxx.js |----css |-