Ubuntu中如何使用缓存插件
导读:Ubuntu中缓存插件使用指南 一、APT与系统级缓存 本地清理与维护:定期清理已下载的包文件并移除不再需要的依赖,可释放磁盘空间并减少后续升级的重复下载。 清理旧包文件:sudo apt-get autoclean 清理全部包文件:s...
Ubuntu中缓存插件使用指南
一、APT与系统级缓存
- 本地清理与维护:定期清理已下载的包文件并移除不再需要的依赖,可释放磁盘空间并减少后续升级的重复下载。
- 清理旧包文件:sudo apt-get autoclean
- 清理全部包文件:sudo apt-get clean
- 移除无用依赖:sudo apt-get autoremove
- 局域网APT缓存代理:在一台长期开机的机器部署APT-Cacher-NG,局域网其他主机复用已下载的包,显著节省带宽与时间。
- 安装与启动:在“缓存服务器”执行sudo apt-get install apt-cacher-ng,然后sudo systemctl enable --now apt-cacher-ng
- 客户端配置:在客户端创建文件**/etc/apt/apt.conf.d/02proxy**,写入Acquire::http::Proxy “http://< 缓存服务器IP> :3142”;
- 防火墙放行:如有ufw,执行sudo ufw allow from 192.168.0.0/24 to any port 3142
- 管理界面:浏览器访问http://< 缓存服务器IP> :3142 可查看状态与使用统计。
二、Web服务与应用层缓存
- Apache2 HTTP缓存:启用磁盘缓存模块并按路径与类型设置策略,加速静态资源与可缓存内容交付。
- 安装与启用模块:sudo apt-get install apache2-mod-cache apache2-mod-cache-disk,随后sudo a2enmod cache 与 sudo a2enmod cache_disk
- 站点或全局配置示例:启用CacheEnable disk /static/,设置CacheRoot /var/cache/apache2/mod_cache_disk,并配置过期时间如CacheDefaultExpire 3600、CacheMaxExpire 86400等
- 生效与验证:重启sudo systemctl restart apache2,用curl -I http://your-site/static/file检查响应头中的Cache-Control/Expires
- PHP运行时缓存:提升PHP执行效率与页面渲染性能。
- OPcache(内置加速):安装sudo apt install php-opcache,在对应php.ini启用并设置如opcache.enable=1、opcache.memory_consumption=128、opcache.max_accelerated_files=4000、opcache.revalidate_freq=60
- APCu(用户态键值缓存):安装sudo apt install php-apcu,配置如apcu.enable_cli=1、apcu.memory_limit=64M
- Redis/Memcached(对象/会话缓存):安装sudo apt install redis-server php-redis或sudo apt install memcached php-memcached,在应用或PHP配置中启用扩展并使用对应服务。
三、数据与网络层缓存
- Redis模块扩展:为Redis添加高级数据结构能力,例如RedisBloom布隆过滤器,用于高效判定元素是否存在、缓解缓存穿透。
- 安装与加载:下载并编译RedisBloom(生成rebloom.so),在**/etc/redis/redis.conf加入loadmodule /path/to/rebloom.so**,重启sudo systemctl restart redis-server
- 功能验证:进入redis-cli,执行bf.reserve test 0.01 100创建过滤器,再用bf.exists/bf.add测试
- 内存对象缓存服务:部署Memcached或Redis作为应用缓存后端,提升读写性能与可扩展性。
- Memcached:安装sudo apt-get install memcached,编辑**/etc/memcached.conf设置如-m 1024**(内存上限,单位MB)与监听地址,重启服务
- Redis:安装sudo apt-get install redis-server,在**/etc/redis/redis.conf设置maxmemory 1gb与淘汰策略如maxmemory-policy allkeys-lru**,重启服务
- DNS查询缓存:使用dnsmasq缓存DNS结果,缩短解析时间、降低外部DNS压力。
- 安装与配置:sudo apt-get install dnsmasq,在**/etc/dnsmasq.conf中设置如cache-mem 512**(单位KB),重启sudo systemctl restart dnsmasq。
四、存储层与编译构建缓存
- SSD加速HDD:通过bcache/flashcache将SSD用作HDD的缓存层,显著提升I/O性能(适合数据库、大文件等场景)。
- 准备与构建:安装dkms build-essential linux-headers-$(uname -r) git,克隆并构建模块(如flashcache的DKMS方式)
- 创建缓存设备:非根设备可用sudo flashcache_create -p back fcache /dev/sdbX /dev/sdaX;根设备需借助LiveCD/USB并在启动时指定**/dev/mapper/fcache**,注意GRUB与**/etc/fstab**调整
- 编译结果缓存:使用ccache或sccache缓存编译中间结果,加速重复构建。
- 安装:sudo apt-get install ccache 或 sudo apt-get install sccache
- 使用:在构建环境中将CC/CXX指向ccache(如export CC=ccache gcc),后续构建将自动命中缓存。
五、维护与注意事项
- 清理内核镜像:当**/boot空间紧张时,先检查df -h**,再按版本移除旧内核与头文件(如sudo apt-get purge linux-image- linux-headers-)
- 手动释放内存缓存(仅在必要时):执行sync & & echo 1 | sudo tee /proc/sys/vm/drop_caches(清理PageCache),或echo 2/3清理dentries/inodes;谨慎在生产环境使用
- 调整Swappiness:降低交换倾向以提升性能,例如sudo sysctl -w vm.swappiness=10,并写入**/etc/sysctl.conf**持久化
- 风险提示:修改GRUB、启用root分区缓存、调整内核参数与清理操作可能影响系统启动与稳定性,务必先备份关键数据并在变更窗口内执行。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu中如何使用缓存插件
本文地址: https://pptw.com/jishu/752836.html
