-
Nginx 代理缓存示例(将频繁命中内容缓存在磁盘,后端仅处理未命中与失效内容)
- 在 http 块定义缓存区与路径:
- proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
- 在 server/location 中启用:
- proxy_pass http://backend;
- proxy_cache my_cache;
- proxy_cache_valid 200 302 10m;
- proxy_cache_valid 404 1m;
- 使配置生效:sudo systemctl reload nginx(或 nginx -s reload)。上述配置将缓存写入 /var/cache/nginx,以 10 分钟 为例缓存 200/302 响应,1 分钟缓存 404 响应。
-
Varnish 示例(作为反向代理/HTTP 加速器,通常监听 80,后端应用监听 8080)
- 安装:sudo apt-get install varnish
- 启动与开机自启:sudo systemctl start varnish && sudo systemctl enable varnish
- 基本思路:将 Varnish 设为前端入口,反向代理到后端应用(如 http://127.0.0.1:8080),由 Varnish 管理页面与对象缓存策略。
-
Apache 磁盘缓存示例(启用模块后按路径开启磁盘缓存)
- 启用模块:sudo a2enmod cache && sudo a2enmod cache_disk
- 创建缓存目录并赋权:
- sudo mkdir -p /var/cache/apache2/mod_cache_disk
- sudo chown -R www-data:www-data /var/cache/apache2/mod_cache_disk
- sudo chmod -R 755 /var/cache/apache2/mod_cache_disk
- 在 VirtualHost 或全局配置中启用:
- CacheEnable disk /
- CacheRoot “/var/cache/apache2/mod_cache_disk”
- CacheDirLevels 2
- CacheDirLength 1
- CacheIgnoreHeaders Set-Cookie
- CacheIgnoreNoLastMod On
- CacheDefaultExpire 3600
- 使配置生效:sudo systemctl restart apache2。