0

我试图让 nginx 在我的网络服务器中处理我的静态文件。为此,我想调整图像大小。我发现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 根本不可行?我完全迷失了……

4

1 回答 1

0

由于没有人回答,我正在发送我的工作。

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

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

于 2020-08-03T15:39:54.133 回答