一直想给我另一个网站加上缓存,但总是忘,最近工作不太忙,就研究了下缓存的配置。
用 nginx 有一段时间了,却一直没有启用 nginx 自带的缓存,总得来说,还是之前对缓存不够重视吧。自从前段时间折腾一个 php 程序后,才真正见识到了缓存的威力,再好的代码优化,也不如缓存来的实在。给我另一个网站配置好缓存后,顺便把博客也配置了一下,虽然没有几个人访问。。
nginx 缓存配置还是比较简单的,配置如下:
#指定缓存文件目录,结构,保留期,最大容量
proxy_cache_path cache/blog levels=1 keys_zone=blog:10m inactive=30d max_size=500m;
server {
listen 443 ssl;
server_name www.82java.com;
ssl on;
#可通过浏览器F12开发者工具查看是否命中缓存,HIT表示命中,MISS表示未命中
add_header X-Cache $upstream_cache_status;
location / {
#有些情况下Set-Cookie会导致缓存不生效,可以设置忽略此header
proxy_ignore_headers Set-Cookie;
#与前面定义的keys_zone一致
proxy_cache blog;
#指定缓存状态码以及缓存有效期
proxy_cache_valid 200 30d;
}
}
为了突出缓存的配置,就去掉了其他的。
缓存目录结构需要先创建好,否则启动 nginx 会报错。配置完成启动后,访问页面,就会在对应的目录生成缓存文件,再次访问同一个 url 时,就会从缓存中取,而不会经过服务器,从而提高网站的响应速度。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于