我想了解如何构建nginx缓存文件。我想优化图像,并使用optipng将它们推回缓存并进行转换。
JPEG示例:
^E^@^@^@^@^@^@^@íß^\^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ëLÌ[^@^@^@^@m<8e>]\^@^@^@^@ÐZ<8c>^E^@^@°^A@^C^T"137d-578ba20acd0c0"^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
KEY: httpsGETpassing.zone/wp-content/uploads/2018/09/Club-Passing-Colored-passing-187x140.jpeg
HTTP/1.1 200 OK^M
Date: Fri, 08 Feb 2019 14:13:01 GMT^M
Server: Apache^M
Referrer-Policy: same-origin^M
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload^M
X-Frame-Options: SAMEORIGIN^M
X-Content-Type-Options: nosniff^M
Last-Modified: Sun, 21 Oct 2018 09:54:51 GMT^M
ETag: "137d-578ba20acd0c0"^M
Accept-Ranges: bytes^M
Content-Length: 4989^M
Connection: close^M
Content-Type: image/jpeg^M
^M
the jpeg image content starts here
PNG示例:
^E^@^@^@^@^@^@^@Ã*_\^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@<8c>Õà[^@^@^@^@CÙ]\^@^@^@^@íXzÌ^@^@<9c>^A.^C^U"38e31-579f372777b00"^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
KEY: httpsGETpassing.zone/wp-content/uploads/2018/11/2018-11-new-bg-pz.png
HTTP/1.1 200 OK^M
Date: Fri, 08 Feb 2019 19:32:19 GMT^M
Server: Apache^M
Referrer-Policy: same-origin^M
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload^M
X-Frame-Options: SAMEORIGIN^M
X-Content-Type-Options: nosniff^M
Last-Modified: Mon, 05 Nov 2018 23:43:08 GMT^M
ETag: "38e31-579f372777b00"^M
Accept-Ranges: bytes^M
Content-Length: 233009^M
Connection: close^M
Content-Type: image/png^M
^M
the png image content starts here
我在删除缓存元信息的文件上运行optpng时看到的是,我需要使用-fix开关,因为文件中的所有内容都不正确。优化jpeg效果很好。
目前,我正需要将优化后的图像写回到缓存中。我将获取旧文件的元信息,调整Content-Length并将新文件粘贴在下面。在我的第一个测试中,这可行。但是有人可以告诉我是否有更好的方法可以再次为缓存文件生成元信息?
另一种方法是构建通过KEY获得的目录结构,并使用一些try_files语句提供此结构。一旦再次请求映像,这将使nginx直接生成缓存文件。我要做的就是确保在将优化文件放入try_files目录时,删除源缓存文件。
能否请我指向其他一些文档以了解这些文件的生成方式,或者指向https://github.com/nginx/nginx的代码中的正确文件以进行阅读?
欢呼 安迪