【发布时间】:2012-03-15 04:23:32
【问题描述】:
我已经了解了使用 BitNami 堆栈进行 LAMP 开发的优点,现在我想知道使用 BitNami 与单独手动安装 PHP、MySQL 和 Apache 相比是否有任何缺点。我使用 Mac OS,但我会对它如何适用于 Mac 和 Windows 感兴趣。有什么想法吗?
【问题讨论】:
标签: containers devops lamp bitnami lemp
我已经了解了使用 BitNami 堆栈进行 LAMP 开发的优点,现在我想知道使用 BitNami 与单独手动安装 PHP、MySQL 和 Apache 相比是否有任何缺点。我使用 Mac OS,但我会对它如何适用于 Mac 和 Windows 感兴趣。有什么想法吗?
【问题讨论】:
标签: containers devops lamp bitnami lemp
Bitnami - 易于使用、经过验证的组件 - 已知运行良好的配置。
缺点 - 补丁和更新。您无法像本地安装那样更新软件包以确保安全。任何公告都必须由 bitnami 团队解决,他们可能/将推出更新以解决问题。 bitnami 更新是全栈升级,这意味着您不能只升级单个组件(例如 php) - 您需要升级整个 bitnami 堆栈,通常推荐的方法是备份您的应用程序数据库,安装并行 bitnami 堆栈具有最新更新,然后恢复或迁移到新安装。
有些人会告诉您,您可以将补丁塞入 bitnami 堆栈中,但完全不推荐这样做,这会导致您脱离堆栈,并且很可能会导致您出现下游问题。
【讨论】:
Bitnami 与原生 LEMP/LAMP 堆栈相比有 3 个常见缺点:
文件路径。 因为 Bitnami 是一种 Web 堆栈的容器方法,所以它在 Ubuntu(或任何 Linux 发行版)中的 installs everything 位于 /opt/bitnami 目录下。因此,许多习惯于使用 nano 或 vim 编辑器(通过 Bash shell)自定义堆栈的开发人员很快发现,您首先必须弄清楚堆栈模块的所有不同配置文件所在的位置等。即使在您弄清楚了那些出来,您可能会找到的大多数在线教程和文档都不适用于您的堆栈。
锁定。根据您的观点(和情况),这可以被视为优势或劣势。使用容器化方法的全部意义在于更好地控制堆栈环境,这可以提高兼容性、可预测性、安全性等。然而,作为@team-life mentioned,当您尝试使用“标准”Bash shell 命令甚至 MySQL CLI(例如在尝试分析或复制您的堆栈等时。简单地说,登录到安装了 Bitnami 的服务器上的 shell 实际上并没有登录到实际的 shell :)
升级。 归根结底,Bitnami(和其他容器,如 Docker)正在向您的堆栈添加另一个“层”,因此更加膨胀。对于某些用户来说,这种“膨胀”是合理的,而且更可取(例如,需要全面统一的非常大的公司)。但是许多开发人员使用 Bitnami 和容器发现升级您的堆栈可能相当麻烦。尽管在环境“稳定性”方面具有所有所谓的优势,但事实证明,升级您的堆栈实际上会引入相当多的不稳定性和不可预测性,通常达到以下程度取消福利。作为@domi mentioned,所有升级都通过Bitnami(而不是Ubuntu镜像等)运行,这意味着你必须遵守他们的版本和发布时间表;您还经常需要再次完全重新安装堆栈...
最终,容器是一种最近的趋势,在所谓的“企业”和“公司”内部团队中非常流行,但对于小型机构或独立机构来说,它可能不是最好的功能之一开发者拥抱。
这就是为什么像 SlickStack(我的项目)这样的原生 LEMP 堆栈正在获得动力。
这个Reddit thread 还有一些其他特定于 AWS 的 cmets。
【讨论】:
BitNami 使用的路径与行业标准路径非常不同,因此如果您尝试登录服务器执行某些任务,您将花费大量时间来了解他们的自定义-制作文件夹结构。这是一个很大的缺点。当您登录到 unix 服务器时,您知道文件和路径在哪里,也许您有一个或两个标准选项。 BitNami 使用完全不同的一种。混乱随之而来。
【讨论】:
Bitnami 显然无法从他们的 mysql 命令行使用某些命令。我觉得这非常令人沮丧。这是我发现的一些东西。
所以这对我来说是因为我正在尝试设置复制。我按照“常规”安装的人的指示进行操作。很难理解,因为他建议的大多数命令在 bitnami mysql> 命令行中都不起作用。因此,虽然我真的很喜欢 Bitnami 的统一性和它的模块化特性,但我在尝试设置复制时遇到了障碍。
【讨论】:
我是一个快乐的 bitnami 堆栈用户。这是一个很棒的堆栈。我可以描述很多优点。
使用 bitnami 堆栈的缺点是更新周期。例如在基于 Debian/Ubuntu 的系统上,您不能使用标准的 apt-get update/upgrade。
这意味着某些安全更新可能无法像标准 cron(自动定期)更新机制那样快速到达您的系统。
要升级系统,您需要创建备份、安装新堆栈,然后将备份导入新堆栈。这可能不是一个理想的程序。
有些人将其归类为非生产环境。
【讨论】:
我是 BitNami 的开发者之一。是使用本机堆栈还是 BitNami 堆栈取决于您要执行的操作。单独安装各个项目应该与运行我们的安装程序完全相同,我们将安装程序放在一起的整个目的是让您不必:) 对于 Mac,BitNami 的优点之一是您可以拥有更多最新的组件和多个安装。一个缺点/区别是应用程序和路径将与典型的不同,因此如果您使用第三方教程或文档,它可能无法立即工作
【讨论】: