Bruno Croci 的网站迁移之旅Bruno Croci 正在为 2026 年柏林的开源硬件峰会做准备。他的博客在 Ubuntu 16.04 上运行了 10 年于 2026 年 5 月 21 日他将其迁移到了 FreeBSD。迁移动机旧系统的安全隐患与成本考量这个博客在 Digital Ocean 的 VPS 上运行了十多年主机位于纽约市运行的是 Ubuntu 16.04 LTS。该长期支持版本至少已停止支持 5 年apt 软件包仓库失效服务器安全性大打折扣。他曾有一个 WordPress 博客运行在旧 VPS 上时出现过可疑链接。他已在使用一台 Hetzner VPS 作为远程开发机其价格实惠且可靠。旧的 Digital Ocean 服务器有 2GB 内存、1 个 vCPU、50GB 磁盘、每月 2TB 流量运行 Ubuntu 16.04 x64位于纽约市数据中心每月费用 13 美元。而 Hetzner 服务器最便宜的只需 3.56 欧元内存和 CPU 是旧服务器的两倍存储空间略少但流量是十倍。他最终选择了配置更高、每月不到 6 欧元的服务器。旧配置简单但需改变旧配置为博客和其他几个不太热门的网站提供服务博客每月页面浏览量不超几千次。技术栈简单由 nginx/1.10.3 静态提供内容额外程序通过 apt 或 snap 安装。更新博客流程为本地撰写文章、提交并推送到仓库、通过 SSH 连接到服务器、拉取仓库更新、运行 hugo。这台 VPS 最初几年还用于测试和编程安装了很多过时软件但运行稳定关闭时正常运行时间达 1491 天。选择 FreeBSD尝新与技术优势选择 FreeBSD 主要是想尝试不同东西他阅读和观看了很多关于 BSD 系统的资料之前也有过短暂使用经历。FreeBSD 因集成设计、安全性和 Jails 备受赞誉。Jails 是一种虚拟化/容器化技术在 FreeBSD 中存在超 25 年比 Docker 出现早。它功能类似 Docker 容器但 Docker 更适合“打包程序”是临时、不可变的而 Jails 是子系统共享同一个内核。此外其文件系统 ZFS 对服务器实用比 Linux 的 Btrfs 更成熟可自行快照无需依赖 VPS 提供商。他计划为每个网站创建 Jail安装所需工具运行 nginx 实例再创建主 Web 服务器 Jail 进行反向代理。Hetzner VPS 与配置过程Hetzner 创建虚拟机时镜像选择有限但实际上提供 FreeBSD 镜像以 ISO 镜像形式存在需多操作几步找到。他选择 14.3 版本按安装程序提示操作很快完成系统安装。他使用 Bastille 管理 Jails这简化了创建 Jail 的过程。安装并启用 Bastille 只需执行“pkg install bastille”和“sysrc bastille_enableYES”。技术栈方面让一个 Jail 运行 Caddy 为所有网站提供服务处理域名和 SSL 证书每个网站有自己的 Jail。需配置内部虚拟网络适配器使用 PF 创建互联网访问规则启用 PF 完成网络栈配置。创建 Jail 与网站迁移创建 Caddy 服务器 Jail使用 14.3 - RELEASE 版本引导创建名为 caddy 的 JailIP 地址为 10.0.0.5位于 bastille0 接口上。在 Jail 中安装 Caddy将主机系统的配置目录挂载到 Jail 中。第一个网站 es.cro.to 是为“抗议”巴西总统在疫情期间的表现而创建之前由旧服务器托管。将网站仓库放在主机系统的 /usr/local/www/escroto 目录使用 bastille 创建 Jail使用 www/nginx 模板。将主机的网站目录挂载到 Jail 中编写 deploy.sh 脚本部署网站。在 Caddy 配置中设置域名指向该 Jail。博客使用 Hugo将其克隆到 /usr/local/www/blog 目录创建新 Jail在 Jail 中安装 Hugo编写部署脚本。将博客指向旧域名进行基准测试。服务器基准测试新服务器性能惊人使用 wrk 和 hey 工具对网站进行基准测试比较旧服务器的 crocidb.com 和新服务器的 crocidb.cro.to。在同一数据中心测试旧服务器每秒处理 833 个请求新服务器每秒处理 12260 个请求平均延迟分别为 89 毫秒和 6 毫秒。使用 VPN 从多个位置测试旧服务器平均每秒处理 300 个请求新服务器平均每秒处理 800 个请求。后来在 Vultr 的不同地区 VPS 上测试发现新服务器默认套接字队列大小不足增大后测试。结果显示FreeBSD 服务器成功响应 100 万个请求而 Ubuntu 服务器无法返回 2 万个请求。旧服务器只完成约 7% 的请求新服务器完成 94%新服务器每秒处理请求数至少快 3 倍最多快 11 倍。下定决心迁移成功与收获尽管基准测试有未解之谜但他还是更新了 DNS 记录博客正式在新机器上运行。设置 FreeBSD 网站托管机器并不复杂他还提到有很多网络托管服务可供选择但他喜欢自己选择的方式在此过程中学到很多。主要收获包括Ubuntu 服务器稳定设置不费力配置 FreeBSD 比想象容易在线文档完善托管博客机器需大量网络知识学习新系统带来乐趣下次可能尝试 OpenBSD 或 NetBSD。最后他提到大部分流量由 AI 系统爬取产生。相关文章包括“揭秘 #!Shebang内核冒险之旅”“在 UbuntuGnome on Wayland上捕获屏幕延时摄影”“基于 Markdown 的 RSS 阅读器的本地优先同步设置”“我摆脱 Caps Lock 键的历程”“这个博客在 Ubuntu 16.04 上运行了 10 年我将其迁移到了 FreeBSD”。