nginx–基础–21–使用动态模块提升运维效率
1、动态库和静态库有什么区别?
- 静态库直接把所有的源代码编译到最终的二进制中
- 动态库在nginx可执行文件里保留了调用它的地址、在需要用到动态库的功能时由nginx的可执行文件去调用这个动态库
2、动态库的应用场景
当我们仅仅需要修改某一个模块或者升级某个模块功能时、这时候我可以仅仅编译这个动态库就可以,升级的时候用新的动态文件替换掉旧的动态文件即可。
2.1、哪些模块是支持动态模块的
./configure --help|grep "=dynamic"
3、工作原理
3.1、静态模块运行流程
3.2、动态模块运行流程
4、动态模块安装
4.1、安装流程
4.2、http_image_filter_module安装案例
Configure加入动态模块
yum install gd gd-devel
./configure --prefix=/usr/local/tengine --with-http_image_filter_module=dynamic
make
make install
01、图片位置
02、未使用动态模块的配置
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 7000;
server_name localhost;
root html;
location / {
}
}
}
请求情况
03、使用动态模块的配置
# 使用动态模块
load_module modules/ngx_http_image_filter_module.so;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 7000;
server_name localhost;
root html;
location / {
# 修改图片大小
image_filter resize 150 100;
}
}
}
请求情况(图片变小)