如何为脚本生成的图像设置nginx缓存?
问题描述:
我有一个脚本,直接生成和输出图像(使用http://glide.thephpleague.com/)。如何为脚本生成的图像设置nginx缓存?
所有图片均来自/img/
。
如何配置NGINX缓存它们,绕过脚本并直接提供图像?
E.g.它应该捕捉脚本的响应,将图像放在某处(最好是在单独的服务器上)并直接在后续请求上提供服务
答
如果您想要更完整的答案,则需要提供nginx配置。
继标准缓存设置发现here应该做的伎俩。如果你的服务文件出/img/
始终的,那么你可以做到以下几点:
location ^~ /img/ {
alias /absolute/path/to/img/folder;
expires 31d; #or whatever you prefer
add_header Vary Accept-Encoding;
add_header Pragma public;
add_header Cache-Control public;
error_page 404 = @your_upstream_generating_the_files;
}
这样做是什么首先检查/img/
文件夹,如果该文件是存在的。如果不是,你想把它传递给你的应用程序,以便它可以为你生成它。下一次请求资源时,它将从/img/
文件夹中提供。
谢谢。看起来像我需要的=) – Terion
这是一种享受:)让我们知道如果你卡住了...... –