Nginx FastCGI for jpg + gif + png caching


Nginx FastCGI for jpg + gif + png caching

看看nginx-fastCGI如何用于php应用程序中的缓存,我看到以下内容

location ~ ^(.+'.php)(.*)$ {
    fastcgi_split_path_info       ^(.+'.php)(.*)$;
    fastcgi_param SCRIPT_FILENAME /path/to/php$fastcgi_script_name;
    fastcgi_param PATH_INFO       $fastcgi_path_info;
}

如果这是一个python应用程序,生活会简单得多,但我并不总是可以选择我的工作。 我想将上面的缓存限制为仅静态资产,例如 .jpg 等。铝。

在python/django世界中,我可以像这样

location /static/$ {
    fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    fastcgi_param PATH_INFO       $fastcgi_path_info;
}

我认为我能做的是

location ~ ^(*.jpg|*.png|*.gif)$ {
    fastcgi_param SCRIPT_FILENAME /path/to/php$fastcgi_script_name;
    fastcgi_param PATH_INFO       $fastcgi_path_info;
}

还有一件事要提。 静态文件不在单个static目录中,而是与其他目录混合在一起。因此问题来了。

这样行得通吗?有人有很好的方法吗?

为静态文件创建一个单独的位置块:

location ~ ^/(static/) {
    root /path/to/the/static/dir;
    expires max;
}