阿里巴巴开源项目nginx_concat_module企业部署实例

阿里巴巴开源项目nginx_concat_module企业部署实例,第1张

阿里巴巴开源项目nginx_concat_module企业部署实例

今天我们公司的前端工程师和技术工程师找我谈话,让我给他们一个淘宝上的开源项目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。安装和部署

[root@tools-ops01-jz src]# wget http://nginx.org/download/nginx-1.6.0.tar.gz [root@tools-ops01-jz src]# tar zxf nginx-1.6.0.tar.gz [root@tools-ops01-jz src]# useradd nginx -s /sbin/nologin [root@tools-ops01-jz src]# cd nginx-1.6.0 [root@tools-ops01-jz nginx-1.6.0]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx-1.6.0 --with-http_ssl_module --with-openssl=/usr/local/src/openssl-0.9.8q --with-pcre=/usr/local/src/pcre-8.32 --add-module=/usr/local/src/nginx-concat-master [root@tools-ops01-jz nginx-1.6.0]# make [root@tools-ops01-jz nginx-1.6.0]# make install [root@tools-ops01-jz nginx-1.6.0]# ln -s /usr/local/nginx-1.6.0 /usr/local/nginx [root@tools-ops01-jz nginx-1.6.0]# /usr/local/nginx -s reload


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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/784250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存