如何为脚本生成的图像设置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/文件夹中提供。

+0

谢谢。看起来像我需要的=) – Terion

+0

这是一种享受:)让我们知道如果你卡住了...... –