日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/3/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阿里巴巴开源项目nginx_concat_module企业部署实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ?公司的前端開發工程師今天找我,讓我給他搞下淘寶的一個開源項目 nginx_concat_module 模塊,將該模塊添加到線上的nginx上去。


簡介

? ? ? ?nginx_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.cngx_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.cngx_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模塊參數,使其生效

? ? ? ?nginx_concat_module模塊添加進nginx之后,我們需要對其進行配置才能夠正常使用。配置的參數主要有如下幾個:

concat?on;????????????????????#?nginx_concat_module主開關 concat_max_files?10;????#?最大合并文件數 concat_unique?on;???????#?只允許同類型文件合并 concat_types?text/html;???#?允許合并的文件類型,多個以逗號分隔。如:application/x-javascript,?text/css

? ? ? 在使用中,如果在location 標簽下配置就表示對當前的location生效,如果在server下就表示對server標簽下的內容生效。需要注意的是,它可能會和你配置的rewrite規則干擾,因此請注意使用范圍。



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%3Aissue+is%3A403


總結

以上是生活随笔為你收集整理的阿里巴巴开源项目nginx_concat_module企业部署实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。