Ubuntu缓存实现页面加速的核心方法
浏览器缓存通过存储静态资源(如图片、CSS、JavaScript)的本地副本,避免重复向服务器请求,显著提升页面加载速度。关键配置包括:
Cache-Control(如max-age=31536000,缓存1年)和Expires(指定过期时间)头,告知浏览器资源的有效期。例如,Nginx中可通过add_header Cache-Control "public, max-age=31536000"配置。async或defer属性加载非关键脚本(如统计代码),避免阻塞页面渲染。服务器端缓存通过存储动态/静态内容的处理结果,减少重复计算和数据库查询,提升响应速度。
proxy_cache_path定义缓存路径(如/var/cache/nginx),通过location指令缓存静态资源(如/static/目录),设置expires 30d(缓存30天)和Cache-Control: public(允许公共缓存)。open_file_cache指令缓存文件元数据(如inode信息),配置open_file_cache max=100000 inactive=20s,提升文件访问效率。mod_cache(缓存模块)和mod_cache_disk(磁盘缓存模块),编辑配置文件(如/etc/apache2/conf-available/cache.conf),设置CacheRoot /var/cache/apache2/mod_cache_disk(缓存根目录)、CacheEnable disk /(启用磁盘缓存)、CacheDefaultExpire 3600(默认缓存1小时)。-m参数(内存大小,至少1GB)和-l参数(监听地址,127.0.0.1)。应用层缓存针对动态网站(如WordPress),通过缓存整个页面或片段,减少PHP和数据库的执行次数。
grace时间,允许过期内容继续服务直到新内容可用),适用于高流量网站。DNS解析是页面加载的第一步,通过缓存DNS查询结果,减少等待时间。
sudo apt-get install pdnsd安装,编辑配置文件/etc/pdnsd.conf,设置perm_cache 10240(缓存大小10MB)和min_ttl 3d(最少缓存3天),启动服务sudo systemctl enable --now pdnsd。/etc/dnsmasq.conf中的cache-size 1000(缓存1000条记录)和ttl 3600(缓存1小时),重启服务sudo systemctl restart dnsmasq。CDN(内容分发网络)将静态资源(图片、CSS、JS)缓存到全球多个边缘节点,用户从最近的节点获取资源,降低延迟。