静态网站用Apache部署时,可将CSS、JS、字体、图标及预生成HTML等低更新频率资源挂载到tmpfs内存文件系统以加速访问;需配合mod_expires、禁用EnableSendfile等Apache调优,并确保构建后自动同步文件。

静态网站用 Apache 部署时,配合内存文件系统(如 tmpfs)可显著减少磁盘 I/O,提升高并发下静态资源的响应速度。关键不在于“替换整个网站”,而是在合理层级做缓存加速——尤其是高频访问、低更新频率的资源。
哪些静态资源适合放进 tmpfs
不是所有文件都值得放内存。优先考虑:
- 压缩后的前端资源:CSS、JS、字体(woff2)、图标(favicon.ico)
- 构建产物目录(如
dist/或build/),特别是由 Vue/React 等打包生成的不可变静态文件 - 预生成的 HTML 页面(如文档站、营销页),内容稳定、无需动态渲染
- 避免放入:日志文件、上传目录、用户可写路径、频繁变更的配置或模板
Linux 下配置 tmpfs 挂载与 Apache 使用
以 CentOS/RHEL 或 Ubuntu 为例,在 /etc/fstab 中添加一行:
然后执行:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
确保 Apache 的 DocumentRoot 或 Alias 指向该挂载点,例如在虚拟主机配置中:
<Directory "/var/www/html/dist">Require all granted
</Directory>
Alias "/static" "/var/www/html/dist"
这样,所有对 /static/xxx.js 的请求都会直接从内存读取,延迟可压至微秒级。
配合 Apache 的关键优化项
仅挂载 tmpfs 不够,还需同步调优 Apache 自身行为:
- 启用
mod_expires和mod_headers,设置强缓存头(Cache-Control: public, max-age=31536000),让浏览器和中间 CDN 尽量复用 - 关闭
EnableSendfile Off(尤其在 tmpfs 上),避免内核尝试零拷贝但反而触发额外检查开销 - 若使用 event MPM,确认
MaxRequestWorkers和ThreadsPerChild匹配内存容量;1 GiB 内存建议不超过 200 并发线程,避免 OOM - 禁用
.htaccess解析(AllowOverride None),减少每次请求的文件系统遍历
注意事项与边界情况
tmpfs 数据随重启丢失,所以必须有可靠部署流程:
- 构建脚本需在每次发布后自动同步文件到 tmpfs 目录(如
rsync -a --delete dist/ /var/www/html/dist/) - 监控 tmpfs 使用率(
df -h /var/www/html/dist),超 80% 时触发告警或自动清理旧版本 - 不要将 PHP、SSI 或任何需要服务端解析的内容放进去——tmpfs 只加速纯静态读取
- 小文件多、总大小可控时效果最佳;单个 100MB 视频文件放进去反而浪费内存且无明显收益

















