要在 nginx 服务器上启用图片转换,您需要使用 ImageFilter 模块。
- 安装 ImageFilter 模块
要安装 ImageFilter 模块,您需要重新编译 Nginx。要启用该模块,需要使用以下选项:
--with-http_image_filter_module
您可以按照以下步骤重新编译 nginx:
# 下载 nginx 源代码
wget https://nginx.org/download/nginx-1.18.0.tar.gz
tar -xzvf nginx-1.18.0.tar.gz
cd nginx-1.18.0/
# 下载 ImageFilter 模块
wget https://github.com/yaoweibin/ngx_http_substitutions_filter_module/archive/v0.6.4.tar.gz
tar -xzvf v0.6.4.tar.gz
# 编译 nginx 并启用 ImageFilter 模块
./configure \
--with-http_image_filter_module \
--add-module=./ngx_http_substitutions_filter_module-0.6.4/
make
sudo make install
- 配置 Nginx
要配置 Nginx,您需要在 nginx.conf
文件中添加以下配置块:
http {
...
...
# 添加 image_filter 模块配置
image_filter on;
image_filter_jpeg_quality 75;
image_filter_buffer 10M;
server {
...
...
location /images {
# 添加转换规则
image_filter resize 300 200;
}
}
}
在上面的示例中,image_filter
开关启用了 ImageFilter 模块。jpeg_quality
设置 JPEG 图像的质量(1 到 100)。image_filter_buffer
设置缓冲区大小。
在 location
块内,使用 image_filter resize
指令指定要将图像转换为的新大小。上面的示例将图像转换为 300x200。
- 重启 Nginx
您需要重新启动 Nginx,以使配置生效。
sudo nginx -s reload
现在,当您访问 /images
目录中的图像时,它们将按照您指定的大小进行转换。