我了解使用BitNami堆栈进行LAMP开发的优点,现在想知道与手动分别安装PHP、MySQL和Apache相比,使用BitNami是否存在任何缺点。我使用Mac OS,但我也想知道这适用于Mac和Windows。你有什么想法吗?
我了解使用BitNami堆栈进行LAMP开发的优点,现在想知道与手动分别安装PHP、MySQL和Apache相比,使用BitNami是否存在任何缺点。我使用Mac OS,但我也想知道这适用于Mac和Windows。你有什么想法吗?
我是BitNami的一名开发人员。使用本地堆栈还是BitNami堆栈取决于您要做什么。单独安装每个项目应该与运行我们的安装程序完全相同,而我们将安装程序组合在一起的整个目的是为了让您不必这样做:)就Mac而言,BitNami的一个优点是您可以拥有更多更新的组件和多个安装。一个缺点/区别是应用程序和路径将不同于典型的那些,因此如果您使用第三方教程或文档,则可能无法立即正常工作。
与本地LEMP/LAMP堆栈相比,Bitnami有3个常见的缺点:
文件路径。 因为Bitnami是一种Web堆栈的容器方法,它会将所有东西安装在Ubuntu(或任何Linux发行版)的/opt/bitnami
目录下。因此,许多习惯于使用nano或vim编辑器(通过Bash shell)自定义其堆栈的开发人员很快就会发现,您首先必须弄清楚堆栈模块的所有不同配置文件的位置等。即使您找到了这些文件,您可能找到的大多数在线教程和文档也不适用于您的堆栈。
锁定。 这可以被视为优点或缺点,具体取决于您的观点(和情况)。使用容器化方法的整个重点是拥有更多对堆栈环境的控制,这可以提高兼容性、可预测性、安全性等等。但是正如@team-life 提到的那样,在尝试使用“标准”的Bash shell命令甚至是MySQL CLI时,例如在尝试分析或复制您的堆栈时,这可能很快变得令人沮丧。简而言之,在安装了Bitnami的服务器上登录shell实际上并没有登录到实际的shell :)
升级。 归根结底,Bitnami(以及其他容器,如Docker)正在为您的堆栈添加另一层,并因此增加了更多的臃肿。对于一些用户来说,这种“膨胀”是可以证明的,并且是可取的(例如,需要全面统一性的非常大的公司)。但许多开发人员通过使用Bitnami和容器发现升级堆栈可能相当棘手。尽管在环境“稳定性”方面有所谓的优势,但事实证明,升级堆栈实际上可能会引入相当多的不稳定性和不可预测性,通常会抵消其益处。正如@domi 提到的那样,所有升级都通过Bitnami运行(而不是Ubuntu镜像等),这意味着您受到它们版本和发布时间表的限制;您还经常需要完全重新安装堆栈...
最终,容器是最近在所谓的“企业”和“公司”内部团队中非常流行的趋势之一,但这可能不是小型机构或独立开发人员拥抱的最佳功能之一。
这就是为什么像SlickStack(我的项目)这样的本地 LEMP 堆栈正在获得动力。
这个Reddit 主题讨论也有一些其他 AWS 特定的评论。
BitNami使用的路径与行业标准路径非常不同,因此如果您试图登录服务器执行某些任务,则需要花费很多时间来理解他们自定义的文件夹结构。这是一个很大的缺点。当您登录Unix服务器时,您知道文件和路径在哪里,可能只有一两个选项,这是标准的。而 BitNami 使用了完全不同的路径。这会导致混乱。
Bitnami - 提供易于使用的验证组件 - 已知工作良好的配置。
缺点 - 补丁和更新。 与本地安装不同,您无法通过更新软件包来进行安全更新。任何公告必须由Bitnami团队解决,他们可能/将推出更新以解决问题。 Bitnami更新是完整的堆栈升级,这意味着您不能仅升级单个组件(例如php) - 您需要升级整个Bitnami堆栈,并且通常推荐的方法是备份应用程序数据库,安装具有最新更新的并行Bitnami堆栈,然后恢复或迁移到新安装。
有人会告诉您可以将补丁塞入Bitnami堆栈中,但这绝不是推荐做法,会使您离开堆栈,并很可能会导致下游问题。
所以,对我来说,这是因为我正在尝试设置复制。我正在遵循一个“常规”安装的指南。由于大多数他建议使用的命令都无法从bitnami mysql>命令行中工作,所以很难遵循。因此,虽然我真的很喜欢Bitnami的统一性和模块化性质,但在尝试设置复制时,我遇到了一些问题。