动态模块
- 减少编译环节;
- 在二进制文件中只保留了动态库的位置/地址;
- 可以仅编译动态库而不用编译二进制可执行文件;
- 不是所有模块都可以以动态模块的方式加入到 Nginx 的模块中;
- 支持动态模块的模块会在参数后面加
=dynamic
, 选项可使用./configure --help
查看;
使用动态模块流程
- configure 指定特定模块,加入动态模块;
- 编译进 binary;
- 启动时初始化模块数组;
- 读取 load_module 配置;
- 打开动态库并加入模块数组;
- 基于模块数组开始初始化;
演示 image_filter 使用动态模块
yum -y install gd gd-devel
./configure --prefix=/opt/nginx/nginx_bin/ --with-http_ssl_module --with-http_image_filter_module