Nginx动态模块之图片压缩

在nginx编译了太多模块,场景及其复杂的情况下,动态模块可减少我们出错的概率

在编译的时候指定了某一些模块使用动态模块的方式去编译,在生成nginx二进制可执行文件外,还会生成动态库,也就是我们指定模块的动态库

动态库与静态库的区别?

静态库会直接把源代码编译进最终的二进制可执行文件中,而动态库在二进制可执行文件里,只保留了调用它的位置,或者说是地址,在我们需要用到动态库里模块时,由nginx去调用动态库,再去完成所需的功能,当动态库里的模块需要升级时,则只需重新编译动态库,而不用去替换二进制可执行文件

执行流程:

Nginx动态模块之图片压缩_第1张图片
查看哪些模块支持动态模块,后面加了dynamic

--with-http_image_filter_module=dynamic

实例:image_filter(实时的把图片压缩成更小的图片)

<1>编译时加入该模块

./configure --with-http_image_filter_module=dynamic

注意:

需要先安装gd库apt-get install libgd-dev

可以看到在Modules目录中有了动态库
在这里插入图片描述
动态库是以so结尾,静态库以.a结尾

<2>在模板目录下放一个图片

<3>配置
在这里插入图片描述
对访问图片的目录,给他加上image_filter,将其变成15 10 像素
在这里插入图片描述

你可能感兴趣的:(nginx)