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

我喜欢为Amazon Linux设计具有轻量级操作系统的想法,但与之相比,我担心它的兼容性/更新会受到影响。 Ubuntu或其他具有专门专注于服务器操作系统的团队的选择。有什么建议吗?

#1 楼

我也有类似的情况。完全托管的专用服务器,LAMP,CentOS。然后,我们决定移至EC2。另外,我几乎没有系统或Linux管理经验。我对Ubuntu的使用经验几乎为零,所以我真的无法说出所谓的更好的OS。和亚马逊。我最终在Amazon Linux上构建了自己的所有AMI,首先使用版本2010.11.01,现在我已将所有自定义AMI迁移到Amazon Linux版本2011.03.01。

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

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

#2 楼

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

Ubuntu LTS和Debian Stable或CentOS都是不错的选择。所有这些都为您提供了同一版本的许多年更新。

Amazon Linux也没有错误跟踪系统,用户必须在AWS Developer Forums中发布问题才能针对软件包提交错误!也没有办法搜索错误。这应该是几乎每个人都面临的一个热门话题。

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

评论


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

–ceejayoz
2015年2月12日在16:36

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

– figtrap
2015年2月12日在17:03



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

– figtrap
2015年2月12日在17:08



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

–ceejayoz
15年2月12日在17:29

youtube.com/watch?v=pWdd6_ZxX8c

–ceejayoz
15年2月12日在17:36

#3 楼

自从撰写此问题以来,Amazon完全针对Amazon Linux AMI 2011.09进行了改进,为CloudFormation和Amazon工具提供了所有引导程序。正在寻找快速,轻便的产品。

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

也请留意有关安全更新:
作为基本的AMI,您通常不必担心,是一个裸机服务器,其中仅包含引导您实际需要的服务所需的工具。

#4 楼

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

评论


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

–詹姆斯·辛普森(James Simpson)
2011年6月1日的1:06

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

– dmourati
2011年6月1日在1:18

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年6月1日在1:26



#5 楼

尽管Ubuntu在这些基准测试中表现更好,但测试本身对赢得Ubuntu有所贡献,而且两者之间的差异似乎并不大。

我最近选择Amazon Linux的主要原因是自动更新,也因为Steven和Ethan在该问题的Quora版本中报告了Ubuntu AMI错误。

评论


对于上述基准的讨论:phoronix.com/forums/…

–丹尼尔(Daniel)
2012年10月11日23:50

#6 楼

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

我选择的是ubuntu,因为它不那么让人头疼,我已经使用了很多Web服务器的发行版各不相同,但是在ubuntu中更改防火墙规则和事情可能要容易得多。

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

#7 楼

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

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