适用于Amazon EC2的Amazon Linux与Ubuntu


56

我正在Amazon EC2上建立我的第一个网站,并且试图确定要使用哪个发行版。我过去曾经使用过Redhat和CentOS,但是我对任何系统都没有偏见,我只想使用最好的东西(过去我也曾经使用过部分托管的服务器,所以我并没有做太多的服务器管理直到最近)。该网站只是一个用PHP和MongoDB编写的Web应用程序。

我喜欢使用针对Amazon Linux的轻量级操作系统的想法,但我担心与Ubuntu或其他专门专注于服务器操作系统的选项相比,兼容性/更新会受到影响。有什么建议吗?

Answers:


22

我也有类似的情况。完全托管的专用服务器,LAMP,CentOS。然后,我们决定移至EC2。另外,我几乎没有系统或Linux管理经验。我对Ubuntu的使用经验几乎为零,因此我真的无法与所谓的更好的OS谈一谈。

我尝试了一些从Rightscale,Alestic,Scalr和Amazon最小安装OS的预建AMI。我最终在Amazon Linux上构建了自己的所有AMI,首先使用版本2010.11.01,现在我已将所有自定义AMI迁移到Amazon Linux版本2011.03.01。

与Amazon AMI AMI和其他AMI提供程序一起使用的决定并非易事。在做出最终决定之前,我玩了近一个月并测试了不同的设置。最后,由于我想使用CentOS,因此基本上可以归结为一件事。与那些设计,构建和维护EC2的人相比,我认为谁更了解OS中需要包含哪些与硬件相关的依赖关系。不反对Rightscale,Scalr或Alestic。

六个月后,即使我遇到了一些困难,亚马逊的Linux也相当稳定。但是,我确实决定从源头编译我们使用的某些软件(即php 5.3,MySQL 5.5等),因为我遇到了亚马逊在其软件包存储库中维护的预构建软件包的麻烦。


44

Amazon Linux是一个滚动发行版,例如Fedora或Debian Testing(类似)。我认为它根本不适合任何生产产品。我很惊讶更多的人没有意识到这一点。这意味着,如果您在450天前启动了Amazon Linux实例,并在今天进行了更新,则您将从完全不同的版本中提取更新。制作新版本后,就没有缓冲时间了,您立即开始从新版本中提取更新。可以想象,这可能会引入一系列的依赖关系,并且有破坏事物的趋势。因此,它本质上是无法管理的。您不能将这样的事情用于更新策略,除非它绝对是一团糟。请勿将Amazon Linux用于任何严重的事情。

Ubuntu LTS和Debian Stable或CentOS都是不错的选择。所有这些使您可以对同一版本进行多年的更新。

Amazon Linux也没有错误跟踪系统,用户必须在AWS开发人员论坛中发布问题才能针对软件包提交错误!也没有办法搜索错误。这应该是几乎每个人都关注的热点问题。

Amazon Linux使得不必要地检索源程序包变得非常困难。


2
仅当您没有测试环境要首先进行更新时,这才是问题。
ceejayoz 2015年

3
好吧,您在这里否决了单个正确的答案。您没有考虑透彻。首先,它与其他发行版相比没有任何好处,因此让自己度过额外的麻烦是毫无意义和适得其反的。为什么要为自己做不必要的工作?其次,您在这里显然是错误的。使用2015.3中的软件包更新2013.9绝对是疯狂的。您几乎没有办法测试可能会破坏这里的所有事情。大多数人(我们也是如此)都可以做到这一点,但是不可能通过滚动发行版来创建和维护安全策略。
figtrap

2
我不知道为什么Amazon Linux如此受欢迎,我敢打赌,因为大多数人都不知道它是一个测试发行版。如果您推荐Fedora用于生产产品,则管理员会在房间外大笑您。这正是您使用AMZN Linux所做的事情。这个决定将来是否会给您带来麻烦不是问题,而是时间的问题。
figtrap

3
没有好处吗 它由运行基础结构的供应商提供。任何与AWS相关的问题都可能首先在Amazon Linux中解决。我对Amazon Linux以及其他许多Linux都非常满意,我们在客户端安全审查(包括非常非常挑剔的金融机构)上也没有遇到任何麻烦。
ceejayoz 2015年


39

自从撰写此问题以来,Amazon完全针对Amazon Linux AMI 2011.09进行了改进,并为CloudFormation和Amazon工具提供了所有引导程序。

此外,yum如果您正在寻求快速便捷的解决方案,则它在回购协议中包括Nginx和PHP-FPM 。

在此处了解最新版本http : //aws.amazon.com/amazon-linux-ami/latest-release-notes/

还请留意安全更新http : //aws.amazon.com/amazon-linux-ami/security-bulletins/

通常,您不必担心,因为基本AMI是裸机服务器,仅具有引导您实际需要的服务所需的工具。


4

如果您已经对RHEL / CentOS有所了解,那么我会坚持的。Web应用程序服务器没有“最佳”发行版。取决于您最熟悉的工具和约定。


重点是,我现在没有任何束缚,也不对任何事物过于熟悉(但我想变得熟悉)。
詹姆斯·辛普森

1
然后尝试设置每个选项中的一个,然后查看您更喜欢哪个。
dmourati 2011年

5
Amazon Linux基于CentOS(forums.aws.amazon.com/thread.jspa?messageID=245351)。因此,您需要在三种不同版本的RHEL(CentOS,Amazon和RHEL本身)与两种不同版本的Ubuntu(11.04和10.04 LTS)之间进行五种竞争。任何试图告诉您的人,在该清单中只有一个好的选择就是试图向您出售产品。就是说,对于绝大多数服务器使用,我只会认真考虑CentOS,Amazon和Ubuntu Server 10.04 LTS的顺序。
BMDan 2011年


0

如果您想快速熟悉并且喜欢在不花太多钱的情况下安装东西,尽管我会去ubuntu。通常,在实时Web服务器上,您不希望能够执行此类操作!人们还会认为,选择是在RedHat,CentOS和Debian之间。硬核技术人员坚持认为ubuntu不适合实时服务器环境,因为并非所有内容都经过完全安全和测试。

我的选择是ubuntu,因为它不那么麻烦,我为Web服务器使用了许多不同的发行版,但是更改防火墙规则和事情在ubuntu中可以轻松得多。

唯一的另一件事是ubuntu在资源使用上更为繁重,因此基于亚马逊的定价方法,CentOS可以每月为您节省几美元!


0

在您的情况下,对CentOS / RHEL的熟悉可能会胜过其他任何考虑。

我使用的系统在很大程度上处于边缘-使用新技术和新版本的新软件。对于此用途,Ubuntu是更好的选择。我避免从源代码构建软件包,并且Ubuntu的软件包维护得很好(当然绝不是完美的),标准存储库往往具有我们需要的东西,如果没有,则易于使用。我倾向于保留最新的修订版本,因为几个月后往往会解决问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.