nginx图片缓存配置

时间:2021-07-24 11:03:25 分类:建站知识 阅读:559
摘要:图片服务器用nginx搭建比较好,为什么呢?一般来说,都是看中nginx超强的静态文件处理能力。
nginx图片缓存配置 图片服务器用nginx搭建比较好,为什么呢?一般来说,都是看中nginx超强的静态文件处理能力。一般图片站,因图片量比较大,得和web服务器(也是nginx)分开运行,虽然web服务器调用图片没用问题,但毕竟是远程调用,肯定没有本地文件系统那么快,因此仍然有优化的空间。

使用前的nginx配置

location ~* ^.+\.(js|ico|gif|jpg|jpeg|png|html|htm)$ {
log_not_found off;
access_log off;
expires 7d;
}

接下来就用到了nginx的proxy_store模块,让nginx 将取得的图片缓存在本地一个目录,下次就直接调用,(这让网页热点图片统计变得更加容易了)

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ {
log_not_found off;
expires 7d ;
access_log off;
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
if ( !-e $request_filename) {
proxy_pass  http://img.example.com
}
}

默认的缓存路径位于 /var/cache/nginx/proxy_temp,里面将会保持图片服务器的目录结构,proxy_store 没有缓存过期,相当于镜像功能,这既是优点也是缺点,优点是访问快速,缺点是不知哪一天,硬盘会被撑爆,不过我们可以写个find脚本,定时清理一下缓存就OK了。

nginx还有一种缓存proxy_cache,它在设计上比proxy_store 更先进,采用内存+硬盘方式缓存,可以设置缓存大小和缓存过期。

http {
,,,,,
proxy_cache_path /var/cache/nginx/cache levels=1:2 keys_zone=imgcache:100m inactive=1d max_size=10g;
server {
........
location ~* ^.+\.(js|ico|gif|jpg|jpeg|png|html|htm)$ {
log_not_found off;
access_log off;
expires 7d;
proxy_pass http://img.example.com ;
proxy_cache imgcache;
proxy_cache_valid 200 302 1d;
proxy_cache_valid 404 10m;
proxy_cache_valid any 1h;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
}
}
}

上面的代码将会使用一块最大100M的共享内存,用于硬盘上的文件索引,包括文件名和请求次数,每个文件在1天内若不活跃(无请求)则从硬盘上淘汰,硬盘缓存最大10G,满了则根据LRU算法自动清除缓存。这种缓存方式为了更快的索引,采用hash分级来存储图片,图片目录结构和名称都变得面目全非,因此网页热点图片,必须通过其他途径统计,比如日志。

总结下,后一种方式更像一种正儿八经的缓存系统,应用相对更广,在性能上也更好,但阿里云收费项目良多,这种方法是否可行,可持续,还有待观察【后续更新】。

珈文网络凭借6年专业企业网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为1200多家中小企业客户提供品质建站服务,得到了客户的一致好评。如果您有公司网站建设优化、公司网站改版、竞价落地页设计、域名注册、主机空间租赁、手机网站建设、网站备案、小程序开发、APP开发、企业宣传视频制作、万词霸屏等方面的需求,请点击QQ咨询我们或拨打咨询热线:158 155 17902(同微信)吧。
声明:本文来自网友投稿,本站免一切责任,如有侵权,请联系小编删除。
链接:https://www.jin-you.com/news/1041.html

需要做网站还是小程序?

欢迎联系我们,我们可以提供企业网站建设、小程序开发、外贸独立站、商城建设等IT外包服务

您身边的【企业建站服务专家】

搜索千万次不如咨询1次

主营项目:各类网站建设,电商套图设计,小程序开发,外贸独立站建设等

立即咨询 400 188 2712
在线客服
嘿,我来帮您!