我一直在寻找这个问题的答案,并提出了一些基准和大量的宣传材料,但我不知道该选择什么。
如果我要设置新的 rails 3.1 前端服务器,我应该选择哪个版本的 ubuntu (11.04 还是 11.10)?
答案1
以下是我做出这个决定时考虑的一些因素(不特定于 Rails):
这两个版本都不是 LTS 版本,因此在发布 18 个月后都将终止支持。11.10 本月刚刚发布。11.04 已发布 6 个月,因此将在一年内终止支持。
11.10 将包含各种软件包和应用程序的更新版本。这对于在新项目中获取最新功能非常有用。
11.04 已经推出半年了,所以不太可能有未被发现的错误。如果我要启动一个需要在近期降低风险的项目,我通常会避免发布新版本,直到它发布一两个月。
11.10 可能比旧版本解决问题更快,因为它是最新版本。如果您打算在 EC2 上运行,它也可能在 EC2 上获得更好的支持。
答案2
避免在生产中使用 Ubuntu 11.10 几个月,以便发现和解决错误。
昨天,当我们将一个在 Ubuntu 11.04 (Natty) 上运行了 3 个月的网站重新部署到 Ubuntu 11.10 (Oneiric) 实例时,我们深刻地认识到了这一点。第二天,我们已经发现了 2 个主要问题:
PHP 的会话清理 cron 作业通过为每个会话分叉 fuser 来占用 100% 的 CPU(论坛),导致用户收到 503 错误。我们已将 cron 作业恢复到 11.04 版本。
Apache 日志充满了“408”(客户端请求超时)错误,我们仍然无法诊断出来。
可能还有其他问题潜伏其中,所以我们决定回到 11.04。幸运的是,我们的部署脚本可以相对快速地配置基于 11.04 的实例以交换到负载均衡器中。
答案3
使用 11.04 时从未发生过这种情况,但在构建 11.10 实例几天后,我最终失去了对它的 SSH 访问权限,使用 11.04 时从未发生过这种情况。我会考虑使用它,或者使用 LTS 版本之一!