我正在尝试让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,但我找不到一个教程来清楚地说明如何做到这一点。我试着修补this Dockerfile,但是我什么都做不了。
我已经在这个问题上花了一天的时间,这真的很令人沮丧,特别是因为似乎几乎没有关于我期望是非常有用的东西的文档。也许用免费的nginx是不可行的?我完全迷失了..。
发布于 2020-08-03 23:39:54
因为没人接,所以我把我的作品发出去了。
我在NodeJS + express web服务器上使用nginx。在我的解决方案中,文件名的格式取决于所需的大小,如abc-123-def_w100_h200.jpg。如果该文件在磁盘中可用,nginx将简单地为其提供服务。如果它不存在,请求将被传递到节点服务器。在那里,我测试原始图像是否存在,使用Jimp修改它,并将其保存在磁盘上。然后,express提供修改后的图像。
由于镜像不会被删除,所以修改后的镜像的所有其他请求都会通过nginx,速度会更快。不过,我真的不知道如何实现一个类似于缓存的系统,这样我就不会使我的服务器磁盘饱和……
https://stackoverflow.com/questions/63217634
复制相似问题