FontAwesome 自托管部署完整指南

将 FontAwesome 部署到自有服务器/CDN,完全掌控加载速度与可用性

自托管 FontAwesome 可以完全控制缓存策略、避免公共 CDN 故障风险、在中国大陆获得更快的访问速度。

方法一:npm 安装 + 复制文件(推荐)

这是最灵活的方式,适合有构建流程的项目:

npm 安装并复制文件到静态资源目录 # ├── webfonts/ # │ ├── fa-solid-900.woff2 # │ ├── fa-regular-400.woff2 # │ ├── fa-brands-400.woff2

有构建流程项目的最推荐方式

方法二:下载 Release 压缩包

无需 npm/pnpm,直接下载官方发布的 ZIP 包:

下载官方发布 ZIP 压缩包 wget https://github.com/FortAwesome/Font-Awesome/archive/refs/tags/6.7.2.zip unzip 6.7.2.zip # 安装后文件位于 node_modules/@fortawesome/fontawesome-free/ # 将 css/、webfonts/、js/ 三个目录复制到项目的静态资源目录(如 /static/lib/fa/)。 cp -r Font-Awesome-6.7.2/css /your-project/static/fa/ cp -r Font-Awesome-6.7.2/webfonts /your-project/static/fa/

方法三:阿里云/腾讯云 OSS 托管

适合中国大陆用户的最优方案——将文件上传到对象存储并绑定 CDN:

上传到阿里云/腾讯云 OSS

推荐配置:

  • 配置浏览器和 CDN 缓存规则
  • CDN 预热:发布新版本时手动预热全部 CSS 和字体文件
  • 开启 HTTPS:免费提供 SSL 证书

Nginx 配置最佳实践

自托管时,Nginx 配置对性能至关重要:

# /etc/nginx/sites-available/fontawesome server { listen 443 ssl; server_name fa.yourdomain.com; root /var/www/fontawesome; index index.html; # 字体文件:一年缓存 + 不可变 location ~* \.(woff2?|ttf|eot)$ { expires 1y; add_header Cache-Control "public, immutable"; add_header Access-Control-Allow-Origin "*"; } # CSS/JS 文件:一年缓存 location ~* \.(css|js)$ { expires 1y; add_header Cache-Control "public, immutable"; } # SVG 文件:一周缓存 location ~* \.svg$ { expires 1w; add_header Cache-Control "public"; } # 启用 Brotli 压缩(需安装 brotli 模块) brotli on; brotli_types font/woff2 font/ttf text/css application/javascript; }

vs 公共 CDN:如何选择

维度公共 CDN(cdnjs/jsDelivr)自托管
部署难度极简(一行代码)需要服务器配置
大陆访问速度中等(依赖 CDN 国内节点)可控(OSS + CDN)
可靠性依赖第三方 SLA完全可控
缓存策略不可控完全自定义
版本管理自动获取最新需手动更新
成本免费OSS 存储费 + CDN 流量费(通常极低)
HTTPSHTTPS需配置证书

更新版本时的注意事项

  1. 下载新版本文件
  2. 替换静态资源目录中的文件
  3. 如使用 CDN 则清除 CDN 缓存
  4. 清除浏览器缓存(Ctrl+Shift+R)
  5. 测试图标是否正确显示
使用软链管理版本 ln -s /var/www/fontawesome/6.7.2 /var/www/fontawesome/latest 使用软链管理版本(避免修改 HTML 引用) HTML 中永远引用 /fa/latest/css/all.min.css,升级时只需更新软链指向

常见问题

检查 CSS 中所有字体文件路径是否正确且可访问

仅需字体文件(woff2);CSS 和 JS 根据使用方式可选

不需要。当所有文件都在自己的服务器上时,FontAwesome 图标可以在完全离线的内网环境中正常显示。这对政府、金融、军工等内网部署场景非常有用。
分享

相关推荐