nginx系列基础架构(7)---nginx动态模块
nginx动态模块

不使用动态模块编译:首先我们下载完nginx源码后,我们使用configure并加入一些模块和第三方模块。这些模块通常是和nginx框架在一起的。通过编译的方式都会编译到nginx的二进制文件中
动态模块编译:经过编译安装后不仅生成了nginx二进制文件,同时还生成了动态模块文件(动态库)
静态库会直接编译到nginx二进制文件中,而动态库在nginx二进制文件中只保留了调用它的地址,我们需要使用到动态库的功能的时候,nginx二进制文件需要先嗲用动态库文件在通过动态库文件使用其中的功能。
演示

-with-http_image_filter_module=dynamic 这样的方式就表示使用动态模块的方式信息编译
- 重新编安装
yum install gd gd-devel -y
./configure --add-module=../tengine-2.3.3/modules/ngx_slab_stat/ --with-http_image_filter_module=dynamic
- 配置图片地址
cat nginx.conf
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
root /data/product/test;
location / {
root /data/product/test;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
-
访问

-
使用http_image_filter动态模块
# 模块位置
pwd
/usr/local/openresty/nginx
ll modules/
总用量 152
-rwxr-xr-x. 1 root root 152168 11月 28 10:07 ngx_http_image_filter_module.so
# 模块使用
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
load_module modules/ngx_http_image_filter_module.so;
# load_module 要放到events 的签名
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
root /data/product/test;
location / {
root /data/product/test;
# 使用image_filter 压缩图片
image_filter resize 300 300;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
- 再次访问
禁用掉缓存,或者强制刷新(Ctrl + F5 或 Ctrl + Shift + R)



浙公网安备 33010602011771号