单独来看,研究版本和兼容性很容易。平台堆栈的每个部分(例如 MySQL)的版本信息都很容易获得。您可以找到最新版本、稳定版本,有时甚至可以按版本找到采用该版本的人数百分比(我个人喜欢查看采用率的数字)。
然而,当我尝试寻找最佳的版本组合时,我遇到了困难。例如,“如果您使用的是 MySQL 5.5,则需要 PHP 版本 XX 或更高版本。”
当您将更高级别的平台(例如 Drupal、Joomla 等)加入其中时,缓解情况会变得更加困难。
我确实认为“向导”式的安装程序很有用,例如 Bitnami 安装程序。但是,我总是想知道这些解决方案是否更适合最小公分母——对许多人来说都是全部——因此,我认为我最好自己安装东西。我怀疑,这些解决方案在采用新版本方面确实有点慢,慢得比必要的慢。
是否有一个网站或工具可以整合版本数据,以帮助网站管理员选择部署哪些版本或安装哪些升级,同时考虑到堆栈的所有其他部分?
答案1
老实说,除非您打算从头开始编译它们,监控所有安全公告列表,并在必要时进行修补,否则最好选择适合您需求的 Linux 发行版并使用它们提供的预打包版本。这样做的主要优点是您知道这些版本,它们将协同工作,这些版本在发行版的生命周期内可能不会发生变化,并且安全修复将被反向移植。
如果您确实希望采用混合和匹配完美版本的路线,您还必须考虑要部署的系统上安装的各种依赖项的版本。例如,您可能会认为 PHP 5.3.3 是完美的,然后发现它需要比系统上安装的库更新的版本。升级库意味着升级依赖的另外两个库,依此类推。不久之后,一切都变得一团糟。
总之,除非您有非常特殊的要求,否则请坚持使用您希望部署的服务器上的软件包的 LAMP 组件版本。