文章摘要
作者将运行了10年的Ubuntu 16.04博客系统迁移至FreeBSD平台,新服务器性能更优且成本减半。文章介绍了迁移动机(旧系统长期缺乏安全更新)及FreeBSD Jails等特色功能,并包含网站负载测试数据。
文章总结
标题:这个博客在Ubuntu 16.04上运行了10年,我将其迁移到了FreeBSD
主要内容:
迁移背景:
- 博客在Digital Ocean的VPS上运行了超过10年,使用的是已停止支持5年的Ubuntu 16.04 LTS。
- 出于安全性和成本的考虑,作者决定迁移到Hetzner的虚拟机上,并选择了FreeBSD作为新的操作系统。
新服务器选择:
- 新服务器位于德国,价格不到原来的一半(约6欧元/月),配置更高(4核CPU、4GB内存)。
- 作者选择FreeBSD的原因包括其稳定性、安全性以及Jails(一种容器化技术)的支持。
技术细节:
- 使用Bastille管理Jails,简化了Jails的创建和管理。
- 配置了虚拟网络接口和防火墙规则,确保Jails之间的隔离和安全性。
- 使用Caddy作为反向代理服务器,替代了原来的nginx,因其自动管理SSL证书的特性。
站点迁移:
- 每个站点运行在独立的Jail中,通过反向代理连接。
- 示例站点包括一个简单的静态页面(es.cro.to)和由Hugo生成的博客。
性能测试:
- 使用wrk和hey工具对新旧服务器进行了负载测试。
- 新服务器在请求处理能力和延迟方面表现显著优于旧服务器(例如,新服务器处理请求的速度是旧服务器的3到11倍)。
总结:
- 迁移过程虽然复杂,但作者通过实践学到了很多关于FreeBSD和网络配置的知识。
- 新服务器在性能和成本上都有显著优势,尽管实际流量需求并不高。
未来展望:
- 作者对FreeBSD的体验感到满意,未来可能会尝试其他BSD系统如OpenBSD或NetBSD。
这篇文章详细记录了从Ubuntu迁移到FreeBSD的技术过程,包括选择理由、配置步骤和性能对比,适合对服务器管理和操作系统迁移感兴趣的读者。
评论总结
以下是评论内容的总结,按主题分类并保持观点平衡:
内存统计差异争议
- 观点:fastfetch与btop内存统计结果不一致
- 论据:
- "fastfetch可能报告实际内存使用量(含文件系统缓存),btop显示进程总用量"(LoganDark)
- "我的服务器在btop中从未显示超过3GiB使用量"(LoganDark)
Linux发行版选择讨论
- 长期支持需求:
- "Alma/Rocky Linux提供10年支持,但维护质量存疑"(andix)
- "曾用CentOS 7因其超长安全更新周期"(andix)
- 个人体验:
- "从Debian转向Ubuntu,曾痴迷FreeBSD但难寻托管服务"(rob)
- "改用OpenBSD后非常满意,后悔没早点切换"(bitbasher)
- 长期支持需求:
FreeBSD与Linux对比
- 支持FreeBSD:
- "FreeBSD简洁纯粹,迁移后重新找到技术认同感"(waynesonfire)
- "像Djikstra批判GOTO语句,FreeBSD之美难以言传"(waynesonfire)
- 批评FreeBSD:
- "PM2运行bug多,防火墙配置复杂,日志管理困难"(adamddev1)
- "现代Ubuntu配置合理时性能轻松超越FreeBSD"(Thaxll)
- 支持FreeBSD:
系统维护困境
- 老旧系统恐惧:
- "两台服务器太久未更新,现在不敢动它们"(coreyp_1)
- "Ubuntu 16.04已运行1281天,不忍心重启"(kylec)
- 教训:
- "高uptime是最大错误,十年后无法重建配置"(arjie)
- 老旧系统恐惧:
技术哲学思考
- 学习方式:
- "通过实践和失败学习效果最好"(lnenad)
- 隐私担忧:
- "Linux大厂引入年龄验证/遥测,正在侵蚀隐私"(coreyp_1)
- 部署方式:
- "静态站点用GitHub Pages/S3+CloudFront比VPS更优"(notkurtgodel)
- "使用Caddy+Docker Compose实现灵活部署"(tracker1)
- 学习方式:
关键引用保留: - "fastfetch probably reports actual memory usage while btop probably reports the total usage"(LoganDark) - "Alma/Rocky Linux are probably the best choices for now. 10 years of support"(andix) - "FreeBSD gives you new eyes into what Linux was, is, and the awesomeness"(waynesonfire) - "The biggest mistake I made was high uptime... had no idea what my teenage self had set up"(arjie)