我在亚马逊EC2上build立了我的第一个网站,我试图决定使用哪个发行版。 过去我使用过Redhat和CentOS,但是我对任何系统都没有偏见,我只是想用最好的东西(我以前也有部分pipe理的服务器,所以我没有做太多的服务器直到最近的pipe理)。 该网站只是一个用PHP和MongoDB编写的Web应用程序。
我喜欢有一个为Amazon Linux描述的轻量级操作系统的想法,但是与Ubuntu相比,我担心它会在兼容性/更新方面受到影响,或者其他团队只专注于服务器操作系统。 任何build议?
我处于类似的情况。 完全托pipe的专用服务器LAMP,CentOS。 然后我们决定转移到EC2。 另外,我有很less的系统或Linuxpipe理经验。 我几乎没有Ubuntu的经验,所以我真的不能说所谓的更好的操作系统。
我从Rightscale,Alestic,Scalr和Amazon那里用最less的操作系统安装了一堆预制AMI。 我最终在亚马逊Linux上build立了自己的AMI,首先使用的版本是2010.11.01,现在我已将所有定制的AMI迁移到Amazon Linux版本2011.03.01。
与其他AMI提供商一起使用亚马逊Linux AMI的决定并不容易。 在我作出最后决定之前,我曾经玩了近一个月,并testing了不同的设置。 最后,因为我想使用CentOS,所以基本归结为一件事情。 我觉得谁能更好地知道哪些硬件相关的依赖关系需要包含在操作系统中,而不是devise,构build和维护EC2的人员。 没有什么反对Rightscale,Scalr或Alestic。
六个月后,尽pipe我在路上遇到了一些麻烦,但亚马逊的Linux一直相当稳定。 虽然,我决定编译一些我们使用源码的软件(例如php 5.3,MySQL 5.5等),因为我遇到了Amazon在软件包仓库中维护的预置软件包。
自从写这个问题以来,亚马逊完全针对亚马逊Linux AMI 2011.09进行了改进,其中包括所有的CloudFormation引导以及亚马逊工具。
另外,如果你正在寻找快速和轻量级,它包括在yum
回购的Nginx和PHP-FPM。
跟上最新版本 : http : //aws.amazon.com/amazon-linux-ami/latest-release-notes/
同时关注安全更新 : http : //aws.amazon.com/amazon-linux-ami/security-bulletins/
您通常不需要担心,因为基础AMI只是一个简单的骨骼服务器,只需要引导您实际需要的服务所需的工具即可。
Amazon Linux是一个循序渐进的发行版,就像Fedora或Debian Testing(有点类似)。 在我看来,它不适合任何生产产品。 我很惊讶更多的人没有意识到这一点。 这意味着,如果您在450天前启动了您的Amazon Linux实例,并且今天进行了更新,那么您将从完全不同的版本中获取更新。 一旦新版本发布,你没有缓冲时间,你立即开始从新版本拉动更新。 你可以想象,这可能会引起一连串的依赖关系,并有破坏事物的倾向。 由于这个原因,它本质上是难以pipe理的。 你不能像这样的工作,更新政策,而不是一个绝对的混乱。 不要严重使用Amazon Linux。
Ubuntu LTS是一个很好的select,Debian Stable或CentOS也是如此。 所有这些给你多年的同一版本的更新。
亚马逊Linux也没有错误跟踪系统 ,用户必须在AWS开发者论坛上发布问题来提交一个软件包的错误! 也没有办法search错误。 对于几乎所有人来说,这都应该是一个直观的问题。
亚马逊Linux使得不必要地检索源代码包变得非常困难。
尽pipeUbuntu在这些基准testing中performance更好,但testing本身对Ubuntu获胜有所贡献,而差异似乎并不大。
我最近selectAmazon Linux主要是因为自动更新,也是因为Steven和Ethan在Quora版本中报告的Ubuntu AMI错误。
如果你已经熟悉RHEL / CentOS,我会坚持下去。 Web应用服务器没有“最好的”发行版。 这涉及到你最熟悉的工具和惯例。
如果你想迅速熟悉,并喜欢安装的东西没有太多,但我会去Ubuntu的。 一般来说,在一个活的Web服务器上,你不希望能够做这种事情! 人们也会争论RedHat,CentOS和Debian之间的select。 硬核技术人员坚持认为ubuntu不适合实时服务器环境,因为不是所有的东西都是完全安全的并经过testing。
我的select是Ubuntu,因为它很less头痛,我已经使用了很多不同的Web服务器发行版,但在Ubuntu中更改防火墙规则和事情会更容易。
唯一的另一件事情是Ubuntu的资源使用情况更为严重,所以CentOS可以基于亚马逊的定价方法每月为您节省几美元。
就你而言,熟悉CentOS / RHEL可能会胜过其他的考虑。
我所使用的系统在很大程度上处于边缘 – 使用新技术和新版本的新软件。 对于这个使用Ubuntu是一个更好的select; 我避免从源代码构build软件包,而且Ubuntu的软件包维护得很好(当然,这绝不是完美的),标准的软件库往往有我们需要的东西,如果没有的话,还有可用的软件库。 由于问题在几个月之后才能解决,所以我倾向于暂时停止修订。