如何在NGINX Open Source上安装image_filter模块



我正在尝试让nginx处理我的web服务器中的静态文件。为此,我想调整图像的大小。我找到了ngx_http_image_filter_module,这似乎正是我想要的。但我无法让它发挥作用。

理想情况下,我想要一个docker生态系统的解决方案。在nginx的官方图片中,我认为库被封装在/etc/nginx/modules/ngx_http_image_filter_module.so中,并且我听说了load_module行带有:

load_module "modules/ngx_http_image_filter_module.so";

但它对我不起作用。我认为它只适用于nginx Plus用户,我只使用nginx开源,对吧?

因此,我似乎必须手动构建nginx,并使用一些参数,但我找不到关于如何清楚地做到这一点的教程。我试着修改这个Dockerfile,但我什么都做不了。

我已经在这个问题上花了一天的时间,这真的很令人沮丧,尤其是因为似乎几乎没有我认为非常有用的东西的文档。也许免费的nginx根本不可行?我完全迷失了。。。

由于无人接听,我正在四处发送我的工作。

我在NodeJS+express web服务器上使用nginx。在我的解决方案中,文件名的格式取决于所需的大小调整,如abc-123-def_w100_h200.jpg。如果该文件在磁盘中可用,nginx只是简单地为其提供服务。如果不存在,则将请求传递给节点服务器。在那里,我测试原始图像是否存在,我使用Jimp修改它,并将其保存在磁盘上。然后快递服务修改后的图像。

由于图像没有被删除,所有其他对具有相同参数的修改图像的请求都将通过nginx,并且速度要快得多。不过,我真的不知道如何实现一个类似于缓存的系统,这样我就不会让服务器的磁盘饱和。。。

最新更新