nginx中使用nginx-http-concat模块合并静态资源文件

 更新时间:2014年06月25日 11:09:17   投稿:junjie  
这篇文章主要介绍了nginx中使用nginx-http-concat模块合并静态资源文件,用以加速网站的CSS、JS等静态资源载入速度,需要的朋友可以参考下

首先了解一下 nginx-http-concat,他是一个淘宝的开源Nginx模块,是一个能把多个CSS和JS合并成一个请求的Nginx模块,对于Web性能优化非常有意义。

Github地址:https://github.com/alibaba/nginx-http-concat,

先看看淘宝用起来是什么样的,访问淘宝网主页,查看源代码可以看到类似的这样的style/script链接

复制代码 代码如下:

<link rel="stylesheet" href="//g.tbcdn.cn/??tb/global/2.1.6/global-min.css,tb/tb-fp/1.2.3/style-min.css?t=20130912">
<script src="//g.tbcdn.cn/??kissy/k/1.3.1/seed-min.js,tb/global/2.1.6/global-min.js,tb/tb-fp/1.2.3/core-min.js?t=20130912"></script>

是不是很神奇,只需要一个请求,就可以把需要的CSS/JS文件通过合并的方式把他输出成一个文件(注意,虽然淘宝有min格式的文件,但是这里它仅仅是合并多个文件,而不会自动的对其压缩打包文件)

首先我们先从Git上下载安装它

复制代码 代码如下:

#下载
$ git clone git://github.com/alibaba/nginx-http-concat.git
 
#移动目录
$ mv nginx-http-concat /usr/local/src/nginx-http-concat

查看原始Nginx版本,这很重要,因为我们需要安装同一个版本来升级数据
复制代码 代码如下:

#查看版本号以及配置信息(目录/模块)
$ /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.3.1
TLS SNI support disabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module

根据查询的版本号下载对应版本的nginx,可以到官方下载指定版本:http://nginx.org/download/

我这里使用的是1.3.1

复制代码 代码如下:

$ wget nginx-1.3.1.tar.gz
$ tar zxvf nginx-1.3.1.tar.gz
$ cd nginx-1.3.1
#根据上面-V的信息 加入concat模块所在路径 (--add-module=/usr/local/src/nginx-http-concat) 进行编译
$ ./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之前备份配置文件,防止意外

复制代码 代码如下:

$ cp -r /usr/local/nginx/conf /root/nginxconf
#编译安装
$ make && make install

接下来就是配置你的静态服务器conf文件
复制代码 代码如下:

server {
        listen       80;
        server_name static.dexphp.loc;
        index index.html index.htm;
        root  /mnt/siteroot/static.dexphp.com;
               
        location /static/css/ {
                concat on;
                concat_max_files 20; //最大合并文件数量是20个
        }
 
        location /status {
                stub_status on;
                access_log   off;
        }
 
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js)$ {
                expires      off;
        }
 
        error_log   /mnt/siteroot/wwwlogs/static.dexphp.loc.error.log;
        access_log  /mnt/siteroot/wwwlogs/static.dexphp.loc.access.log;
}

相关文章

  • Nginx防止直接用IP访问Web服务器的设置方法

    Nginx防止直接用IP访问Web服务器的设置方法

    看了很多Nginx的配置,好像都忽略了ip直接访问Web的问题,这样理论上不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面
    2012-09-09
  • 如何本地安装nginx及部署项目

    如何本地安装nginx及部署项目

    这篇文章主要介绍了如何本地安装nginx及部署项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • k8s部署nginx的三种方式小结

    k8s部署nginx的三种方式小结

    本文主要介绍了k8s部署nginx的三种方式小结,主要包括直接部署、使用数据卷部署、使用ConfigMap部署,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • nginx配置反向代理到gin的方法步骤

    nginx配置反向代理到gin的方法步骤

    本文使用Nginx进行反向代理到Gin应用的配置步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • nginx中的limit_req限速设置配置示例

    nginx中的limit_req限速设置配置示例

    这篇文章主要介绍了nginx中的limit_req限速设置配置示例,本文直接给出配置文件例子,其中包含大量中文注释,需要的朋友可以参考下
    2015-03-03
  • 解决nginx访问页面中文乱码的问题

    解决nginx访问页面中文乱码的问题

    这篇文章主要为大家介绍了nginx访问页面中文乱码解决方案,文中有相关的代码示例供大家参考,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2023-09-09
  • Nginx代理后HTTP头部丢失问题的解决方案

    Nginx代理后HTTP头部丢失问题的解决方案

    在日常开发和运维中,我们经常会使用 Nginx 作为反向代理服务器,将客户端的请求转发到后端服务,然而,在某些情况下,通过 Nginx 代理后,后端服务可能会丢失部分 HTTP 头部信息,所以本文给大家介绍了Nginx代理后HTTP头部丢失问题的解决方案,需要的朋友可以参考下
    2025-02-02
  • WordPress与Drupal的Nginx配置rewrite重写规则示例

    WordPress与Drupal的Nginx配置rewrite重写规则示例

    这篇文章主要介绍了WordPress与Drupal的Nginx配置重写规则示例,文中介绍的rewrite写法简单而突出配置重点,需要的朋友可以参考下
    2016-01-01
  • 利用Nginx代理如何解决前端跨域问题详析

    利用Nginx代理如何解决前端跨域问题详析

    这篇文章主要给大家介绍了关于利用Nginx代理如何解决前端跨域问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08
  • 深入探究Nginx负载均衡原理及配置方法

    深入探究Nginx负载均衡原理及配置方法

    Nginx 作为一款卓越的 Web 服务器,不仅提供了强大的性能,还内置了负载均衡功能,本文将深入研究 Nginx 负载均衡的原理、策略以及配置方法,助您构建一个稳定、高效的应用架构,需要的朋友可以参考下
    2023-08-08

最新评论