今天我们公司的前端工程师和技术工程师找我谈话,让我给他们一个淘宝上的开源项目nginx_concat_module模块,把这个模块加到网上的nginx上。
简介
Ngx_concat_module是淘宝开发的针对nginx的文件合并模块。关键是结合前端代码,减少http请求的数量。如果你的应用场景中部署了nginx,可以考虑尝试这个模块,减少需求数量。
部署:
1。提前准备好专用工具
[root@tools-ops01-jz ~]# yum install gcc gcc-c make wget subversion -y [root@tools-ops01-jz ~]# cd /usr/local/src [root@tools-ops01-jz src]# wget http://down1.chinaunix.net/distfiles/openssl-0.9.8q.tar.gz [root@tools-ops01-jz src]# tar zxf openssl-0.9.8q.tar.gz [root@tools-ops01-jz src]# wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.32/pcre-8.32.tar.gz [root@tools-ops01-jz src]# tar zxf pcre-8.32.tar.gz [root@tools-ops01-jz src]#2。从淘宝的svn上获取nginx_concat_module的源代码
[root@tools-ops01-jz src]# svn co http://code.taobao.org/svn/nginx_concat_module/trunk/ nginx_concat_module这里必须注意:
因为在Nginx的最新版本中,应用了标准的mime-type:application/JavaScript。在nginx_concat_module模块当前版本号的编码中,写的是application/x-javascript的类型。
[root@tools-ops01-jz src]# grep javascript nginx_concat_module/ngx_http_concat_module.c ngx_string("application/x-javascript"),结果你安装了这个模块之后,还是不能把js文件拼在一起,会报错如下400。
所以在给nginx添加这个模块之前,你最好把nginx_concat_module的源文件ngx_http_concat_module.c改一下,把application/x-javascript改成application/javascript,然后编译安装程序!
更改后的实际效果如下:
[root@tools-ops01-jz src]# grep javascript nginx_concat_module/ngx_http_concat_module.c ngx_string("application/javascript"),3。安装和部署
4。配置nginx_concat_module的主要参数使其工作
NGX_CONCAT_MODULE模块添加到nginx后,大家都要配置好才能正常使用。配置的关键参数如下:
concat on; # nginx_concat_module电源总开关 concat_max_files 10; # 较大合并文件数 concat_unique on; # 只容许同种类文件合并 concat_types text/html; # 容许合拼的文件属性,好几个以分号隔开。如:application/x-javascript, text/css在应用中,如果配置在位置标识下,对当前位置有效,如果在服务器下,对服务器标识签名的内容有效。必须注意的是,很可能会影响到你配置的重写标准,所以一定要注意应用范围。
5。应用程序
[root@tools-ops01-jz nginx-1.6.0]# curl http://localhost/b.js bbbbbbbbbbbbbbbbbbbbbbbbbbb [root@tools-ops01-jz nginx-1.6.0]# curl http://localhost/a.js aaaaaaaaaaaaaaaaaaaaaaaaaaa [root@tools-ops01-jz nginx-1.6.0]# curl http://localhost/??a.js,b.js aaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbb以下是与本模块相关的一些材料:
淘宝SVN关于这个项目的信息:
http://code.taobao.org/p/nginx_concat_module/src/
Github关于这个项目的信息:
https://github.com/alibaba/nginx-http-concat/issues?q=is:问题是:403
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)