openresty中使用淘宝的concat进行css和js合并

四川建材 2021-09-14 阅读:12

  --add-module=build/ngx_stream_lua-0.0.7不需要加,因为:

  concat

  concat_delimiter

  concat_ignore_file_error

  concat_max_files

  concat_types

  concat_unique

  concat配置说明:

  multiple definition of `ngx_http_rds_csv_output_more_field_data':表示add-module中的已经自动包含,不需要add-module主动指定。

  ngx_stream_lua_module is already enabled in OpenResty by default. Your linker errors clearly indicate that. You should remove the option --add-module=build/ngx_stream_lua-0.0.7.

  备份老的nginx文件、覆盖最新的文件

  表示add-module中的已经自动包含,不需要add-module主动指定。

  测试

  发现上面这个原来的配置参数,很多用到了相对目录 “--add-module=" ,但是自己的目录上层目录并没有这些模块的文件夹,一开始想着是不是要去挨个下载,咨询了很多地方也没有好的答案,于是自己去github上把各个模块对应的版本都下载下来,放到了上层目录中,用上面这个命令configure,结果各种报错:

  访问一下 ,控制台输出 11 22 ,看network网络请求,只有一次请求,说明配置完成

  官方git issue回复:

  合并后的文件内容分隔符,用于区分不同文件的内容

  默认:10

  默认:off

  默认:on

  默认:text/css application/x-javascript

  目录:/root/openresty-1.15.8.1/build/

  配置concat配置文件,并再次重启nginx(最好是kill掉完全重启,否则有可能不生效)

  配置段:http, server, location

  配置段:http,服务器,位置

  如果有第三个问号,则表示版本号

  使用拼接多个文件

  是否忽略404或403错误,选项:on | off,默认:off

  网站根目录写3个测试文件

  我们在访问淘宝的时候,会看到代码中的js和css文件是通过一次请求获得的,我们知道浏览器一次请求只能并发访问数个资源,这样的处理错输在网络传输层面可以大大节省时间,这里使用的技术就是把css、js等静态资源合并为一个资源。淘宝使用的tengine是基于nginx的web服务器,从11年底开源。所使用的是mod_concat模块,合并多个文件在一个响应报文中。

  下载对应版本的openresty

  先查看下当前openresty的版本和配置信息

  语法:concat [on|off]

  语法:concat_max_files编号

  语法:concat_types MIME types

  语法:concat_unique [on|off]

  正确的做法,根本不用下载各个模块,因为执行configure的时候已经生成了对应的模块目录。

  注意不需要执行gmake install,执行gmake install是覆盖安装

  注意事项

  作用:定义可以在openresty中使用淘宝的concat进行css和js合并给定配置段中串联的MIME类型。

  作用:定义是否只能串联给定MIME类型的文件,或者可以串联多个MIME类型。

  作用:定义在给定配置段中可以串联的最大文件数。

  作用:允许在给定的配置段中进行串联




这是四川苏洋建材有限公司,官网(四川建材公司 16:16:16)

评论(0)