nginx——优化②expires缓存

本文介绍如何通过Nginx的expires指令来设置资源缓存时间,以减少服务器请求并节省带宽。适用于图片、CSS及JS文件等更新频率较低的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. nginx可以通过设置expires对一些资源缓存,这样可以减少对服务器的请求和节省带宽
  2. 格式:expires + 时间 (s/m/h/d)
  3. 原理:使用于变化周期短的图片,css,js等
  4. 栗子:
location ~*\. (jpg|jpeg|gig|png|css){
	expires 1d;
}
### Nginx 缓存配置与优化 #### 配置缓存路径及相关参数 为了实现高效的缓存机制,`proxy_cache_path`指令用于定义缓存数据存储的位置及其属性。此命令允许指定缓存目录、分配给键空间区域的内存大小、不活跃条目的过期时间以及最大磁盘使用量等选项[^2]。 ```nginx proxy_cache_path /data/nginx/cache keys_zone=news_cache:10m inactive=1d max_size=10g; ``` 上述配置语句创建了一个名为`news_cache`的缓存区,在`/data/nginx/cache`下保存缓存对象,并设置了1天内无访问记录的对象会被自动清除,整个缓存占用不超过10GB硬盘空间。 #### 启用静态资源缓存及压缩功能 除了动态页面外,对于图片、样式表和其他类型的静态资产同样适用缓存策略来改善网站性能。当这些资源被频繁请求时,利用浏览器端或中间件(如Nginx)进行本地化存储能够减少网络往返次数,从而加快网页渲染速度。此外,开启Gzip算法可有效缩减HTML/CSS/JavaScript等内容体积,进而缩短下载耗时[^3]。 ```nginx location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 7d; add_header Cache-Control "public, no-transform"; } gzip on; gzip_types text/plain application/xml text/css application/javascript; ``` 以上片段展示了针对特定扩展名文件设定七日有效期的同时启用了HTTP头控制字段以增强兼容性和安全性;紧接着激活了对多种MIME类型实施压缩操作的功能开关。 #### 反向代理模式下的Web应用加速方案 作为一款高性能HTTP服务器软件,Nginx不仅支持正向代理也擅长扮演反向角色——即站在真实源站之前接受外部连接并将它们分发出去。在此过程中间层会临时保留住部分已获取的数据副本以便后续重复调用者快速取回而不必每次都重新发起完整的TCP/IP握手过程。这种做法既减轻了后端压力又提高了整体吞吐率[^5]。 ```nginx http { upstream backend_servers { server 192.168.1.100 weight=5; server 192.168.1.101 backup; } server { listen 80; server_name example.com; location / { proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_cache news_cache; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; } } } ``` 这段脚本说明了怎样构建一个简单的负载均衡器并通过关联先前声明过的高速缓冲池实例达到最优的服务质量目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值