服务器操作系统应该选择 DebianUbuntu 还是 CentOS?
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:彭勇
链接:http://wwwzhihucom/question/19599986/answer/13723064
来源:知乎
早期,我们使用 Debian 作为服务器软件,后来转向了CentOS,主要原因如下:
1、CentOS/RHEL的生命周期是7年,基本上可以覆盖硬件的生命周期,也就意味着一个新硬件安装以后,不用再次安装操作系统。要知道重新折腾一个生产机是很麻烦而且有风险的事情。
[201221]今天刚刚收到红帽子的通知邮件,RedHat 5, RedHat 6的生命周期,延长到10年,太牛叉了。这个对企业用户很重要。
而Debian的生命周期是不固定的,一般新版本发布以后,上个版本再维护18个月。而Debian的版本发布时间间隔不稳定,经常会延期。综合起来一个版本的生命周期一般在3~4年。
[2014424]Debian 宣布对Squeeze(60),提供5年的LTS长期支持。
Ubuntu的LTS版生命周期是5年。
如果你选用了 Debian 或者 Ubuntu作为服务器,等生命周期过了以后,就没有安全补丁,你的服务器就会裸奔或者需要重新安装系统。
2、RedHat是一个值得尊敬的开源公司,长期以来Linux内核RedHat的贡献程度都是最多的。可以这么说,如果一个Linux方面的问题,RedHat搞不定,那么也很少有其他公司可以搞定了。公司有一批Linux内核方面的如雷贯耳的大牛,比如:
Alan Cox - Core developer, numerous contributions
Ingo Molnar - x86 subsystem maintainer
Al Viro - VFS subsystem maintainer, linux内核贡献第二多的个人
David Miller - Sparc Port maintainer, linux网络部分开发者, linux内核贡献最多的个人
Jeff Garzik - Sata subsystem maintainer
John Linville - Wireless subsystem maintainer
Stephen Tweedie - Ext3 filesystem developer
Eric Sandeen - XFS, Ext4 filesystem developer
Josef Bacik - Btrfs filesystem developer
Rik Van Riel - VM developer
Ric Wheeler - Filesystem developer
Val Henson - Filesystem developer
Dave Jones - Fedora kernel maintainer
Kyle McMartin - Fedora kernel maintainer
Chuck Ebbert - Fedora kernel maintainer
Eric Paris - LSM/SELinux/Audit/Capabilities maintainer
Eugene Teo - Security Response
Kay Sievers - Hotplug
3、CentOS/RHEL对硬件的支持很好,主流硬件厂商早就将服务器拿过去测试,一般不存在硬件的兼容性问题。
而Debian就麻烦了,由于有版权上的考虑和代码纯洁性上的洁癖,一些硬件驱动和软件被删掉了,导致安装过程有问题。比如 Dell 服务器上,大量使用的网卡 BroadCom,就驱动不了,安装了以后,网络起不来。
4、大量商业软件,比如 Oracle ,都是针对 Redhat认证的,有大量的帮助文档和使用说明,有良好的技术支持。出了问题,也容易在网上找到类似的答案和经验。
5、CentOS 是RedHat的克隆版,如果需要可以随时平滑切换到 RedHat,从而享受RedHat的服务支持。要知道厂商的服务,是最后一道防火墙,如果你给一个大客户做方案,他们一般会倾向选用商业服务。万一出了什么问题,还有Redhat可以求助,或者有一个RedHat可以承担责任 :-)
6、如果你是一个工程师,熟悉了 CentOS/RedHat ,找工作更加容易。如果你是一个企业老板,相对也容易招聘到熟悉CentOS/RedHat的工程师。RHCE的培训,也相对较完善,认同程度高。
7、CentOS/RHEL 的批量安装更加方便
在机房,使用kickstart + PXE安装,给客户,使用定制的kickstart光盘,一键安装,一般在5分钟左右就可以安装完。
上述3,4,5,6几点中,都说明CentOS/RHEL相对于其他Linux操作系统,有相对完整的生态环境,很多公司在CentOS/RHEL投入了大量资源,积累了大量经验,绑定了自己的利益,这个是CentOS/RHEL得以长期良好发展的保证。
=============
补充对评论的一些回复
1 所谓的“centos稳定性非常差”,不知道你指的是什么?能否举一些CentOS不稳定的例子?至少我们用了这么多年CentOS,稳定性上可以说是坚如磐石的。如果是你说的由于yum升级造成的混乱,那只能说明你对centos不熟悉。
2、RHEL/centos 对于一些新的软件的支持,采用 SCL的方式支持,比如ruby193,python27, python 33, PHP 54, nodejs 010, mariadb55, postgresql 92
AdditionalResources/Repositories/SCL
3、debian/ubuntu 同样存在版本稳定和程序太老的矛盾,比如他们的LTS版本,一般是两年多更新一次。squeeze是2011年2月发布,wheezy是2013年5月发布,如果你在2013年4月使用Debian,你会发觉好多软件太老,比如:
内核:2632,和Centos 6 一样的
glibc 还是使用的2112
mysql使用的5149
openjdk使用的是 6
php使用的是 533
python使用的是266
下一个版本的Deiban,至少要到 2015年下半年才能发布,而RHEL7/CentOS7的正式版发布在即,里面用到的不少软件,都比wheezy的要新。按照你的逻辑,在接下来较长的时间里,是否CentOS比起Debian更加前卫?
再看看Rio的回复:“之前我用了很长一段时间的 Debian,但它的更新实在太慢了(好几年啊有木有!)”,呵呵
4、“debian的支持时间也非常长期”,这个最近确实有了改善,Debian刚刚宣布对 Debian 60 有了5年的LTS长期支持。可以这么说,Debian也看到了LTS的重要性,向CentOS学习了一把。
Debian -- News -- Long term support for Debian 60 Announced
但Debian做得还不够,因为Debian的LTS在后续版本,比如 Debian 7 (wheezy), Debian 8 (jessie) 里的支持政策还不明朗:
Debian -- Security Information -- DSA-2907-1
Debian的LTS支持,也不是Debian 官方安全团队维护的,而是由其他志愿者维护的,工作效率和质量是否有保证还不知道。相比RHEL明晰的发展策略和安全更新策略,有10年的安全补丁保证,还有不少差距。
5、“debian这个系列的软件包也比较新,debian和他儿子ubuntu很多软件包维护是共享的,更新速度非常快”,不知道你使用的是稳定版还是测试版。稳定版里面你是如何看到软件包“更新速度非常快”的。
LTS是长期支持(Long Term Support)的缩写。
我们每六个月制作一个新的Ubuntu桌面和服务器的版本,这意味着你总能拥有开源世界提供的最新最好的应用程序,Ubuntu是基于安全而设计的,因此你能够获得至少18个月的免费桌面版和服务器版安全更新。
一个新的LTS版本通常每两年发布一次,使用长期支持(LTS)版本的Ubuntu桌面版你能够获得3年的支持,Ubuntu服务器版你能够获得5年的支持。使用LTS版本没有额外的费用,我们以同样免费的条件将我们最好的作品供每个人使用,升级到新版本的Ubuntu将会一直免费。
LTS版本仅仅应用于Ubuntu计划的特定子集,LTS不会应用到Ubuntu的所有版本和衍生。例如:对于804 LTS,Kubuntu选择迁移到KDE 40并且没有发行LTS版本。在1004,上网本(Netbook)版本不会是LTSUbuntu项目会在LTS开发周期的前期决定哪个版本会成为LTS
Ubuntu 1204 上安装和配置 Tripwire。由于 IDS 的特性,最好在创建服务器不久后就运行 IDS,以便可以确定文件系统是没有问题的。
安装 Tripwire
幸运的是,Tripwire 已经在 Ubuntu 的默认存储库中。我们可以使用apt-get来安装 Tripwire:
sudo apt-get update
sudo apt-get install tripwire
在经过需要的相当多的包依赖的配置后就可以运行了。
首先,你要配置推送依赖的邮件应用程序。如果你想配置电子邮件通知,请选择 Internet Site
它会询问你是否想在安装过程中配置密码,对这些提示都选择yes。它会询问你是否想要重新生成配置文件,选yes。对于策略文件一样选yes。
接下来你将要被要求输入site key。Tripwire使用两个密钥来确保配置文件的安全:
Site key这个密钥被用来确保配置文件的安全,我们需要确认配置文件没有被修改过,这直接导致了整个监测系统的
你好,当前linux操作系统的服务器占据了整个服务器操作系统的80%以上,所以掌握linux的系统管理,是一名合格运维工程师的必要,ubuntu即为debian的衍生版本,所以各种特性最接近debian.个人觉得还是使用RHEL /CENTOS作为服务器操作系统比较合适,
1 在企业中最受欢迎的是红帽公司,因为它解决了客户的后顾之忧,可以在遇到问题时候求助官方,而不是放眼忘穿,等待别人的“救助”
2 ubuntu 比较适合作为个人用户的桌面系统使用,,界面比较华丽,而且更新周期比较快,所以对于个人玩家是非常合适的,但是服务器是企业的命根子 需要稳定,而不是华丽。
综合以上的原因建议采用RHEL/CENTOS作为你公司的服务器操作系统,推荐你一本入门的"葵花宝典"《linux就该这么学》这本书,是有多名多年经验的运维工程师编写的,书中都是干货,可以帮助你快速入门linux操作系统!
如果是学习或搭建免费的服务器或工作站,最好是centos,最适合搭建免费的服务器和
工作站,继承自RHEL;提供官方的免费更新支持,技术资料全面,系统稳定,更新及时;跟RHEL几乎没有区别;也特别适合搭建嵌入式开发环境,环境一旦
搭建好可以一直使用下去,不用担心系统的稳定性;
如果是想尝试新技术,可以使用fedora,总是在不断的实践最前沿的技术,RHEL的试验田;
也可以用于搭建嵌入式软件开发环境,但系统更新支持实践短;
如
果是用于Android开发的,最好是ubuntu,更新及时,用户群多,资料丰富,开发活跃;程序及运行库版本都比较新,功能更新升级快;特别适合嵌入
式移动开发工作;但稳定性不如Centos,常常会因为更新而带来一些意想不到的问题;如果使用ubuntu,建议使用ubuntu 的LTS版;
如果是国内的政务/办公等,而且考虑到本土化支持,建议使用红旗linux或中标麒麟linux,超级稳定,但更新方面可能比较慢,界面很质朴;一切以安全实用为核心;
另外深度linux或StartOS是相对个性的系统可以满足喜欢尝鲜的个人用户;
如果愿意付费当然还是RHEL或者红旗的Asianux server或中标麒麟的server版;
1VSFTPD
这个应该是最常用的FTP服务器之一,号称是最安全的。文件传输速度快(在一份评测报告中看到的,比其余两种快很多),搭建也比较容易。但是在使用过程中我感觉它在目录权限控制上不如proftpd方便。配置文件也相对复杂。在这三个服务器中,我将它排在第二名。
2PROFTPD
这个我比较喜欢,配置问价很容易看懂,对目录的权限控制功能比较强大。很容易上手。在这三个里面我将它排在第一名、
3PUREFTPD
之所以使用这个是因为它能够在配置文件里指定客户端使用的编码方式,对于windows和linux之间的上传下载非常方便。但是在实际使用过程中发现,它的这个功能仍然有缺陷,就是当传输的文件很多,目录层次也比较深的时候,它不能够将所有的名称都做正确的字符集转换,仍然会出现一些乱码。只能说它部分的解决了乱码问题。另外它的配置方式也比较独特,每一个选项是一个文件。我感觉比较繁琐,不太习惯。因此将它排在最后一名。
linux服务器系统多使用CentOS、uBuntu、Gentoo、FreeBSD、Debian。服务器操作系统应该选择 Ubuntu 还是 CentOS ,CentOS目前市场占有率第一。
根据Linux服务器搭建的环境来选择:
nginx+php+mysql 选择freebsd
tomcat+jsp+orcal 选择ubuntu
apache+php+mysql 选择centos
如果没有专门的服务器运维人员,Ubuntu更合适,根据VPS服务商统计,超过75%都在用Ubuntu/Debian,用CentOS的不足20%。
57% of deployments are Ubuntu
18% of deployments are Debian
16% of deployments are CentOS
31% of deployments are Fedora
19% of deployments are Gentoo
多数Linux开发者使用的是Ubuntu的桌面版,倾向在开发生产时使用相同的系统,并且还能使用很多工具。但总体上来说技术允许下,RHEL/CentOS是一个更优越的服务器部署平台,
安装须知
1、此安装包可在阿里云所有linux系统上部署安装,此安装包包含的软件及版本为:
nginx:1015、125、144
apache:2222、242
MySQL:5173、5535、5615
php:5318、5423、557
php扩展:memcache、Zend Engine/ OPcache
ftp:(yum/apt-get安装)
phpwind:87 GBK
phpmyadmin:418
2、请使用最新的一键安装包脚本安装,以前老版本都存在bug,会导致安装异常以及安装的环境混乱。
3、执行一键安装包(/installsh),会自动清理之前一键安装包安装过的环境。
如果您已经安装过一键安装包,再次执行安装,如若有重要数据,请自行备份/alidata目录。
4、一键安装包会将软件安装在/alidata目录下。
如果您的系统不存在数据盘,则一键安装包会将软件安装到系统/alidata目录下。
如果您的系统存在数据盘,且还没有格式化挂载数据盘。则一键安装包会自动帮您格式化第一块数据盘,并挂载在/alidata目录下。
如果您的系统存在数据盘,且已格式化并挂载了第一块数据盘。一键安装包会将第一块数据盘再次挂载到/alidata目录下,并不影响您之前的挂载目录的使用。比如下图所示,安装前,已经挂载了mnt目录。安装后,一键安装包再次挂载/alidata目录。
如果您的系统存在数据盘,且已格式化数据盘,但没有挂载数据盘。一键安装包会将第一块数据盘挂载到/alidata目录下。
5、怎么样卸载一键安装包?
可以执行以下命令完成卸载:
chmod 777 -R sh-130/
cd sh-130/
/uninstallsh
好了,下面来进行我们详细的安装步骤,come on ~~!
首先准备好连接linux服务器的工具,推荐用xshell和xftp。
xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
下载地址:http://wwwnewhuacom/soft/36383htm
Xftp 是一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。
下载地址:http://wwwnewhuacom/soft/143htm
根据上面提供的下载地址,首先安装xshell(基本上是点击Next直至安装 完成):
点击Next-->此时选择“free for Home/School”(免费版)。
再点击Next-->Next-->Next-->install即可安装(还可以选择xshell安装后的语言环境,熟悉英文的朋友,可以选择English选项)。
点击finish完成xshell的安装。
然后我们可以看到以下界面。
接下来安装xftp(用于上传文件到linux服务器的小工具),安装xftp也是非常的简单,基本上也点击Next直至安装完成。
点击Next -->此时选择“free for Home/School”,(免费版)。
录点击Next -->Next -->Next-->install (还可以选择xshell安装后的语言环境,熟悉英文的朋友,可以选择English选项)。
点击finish完成安装。
然后我们可以看到以下界。
然后我们打开xshell, 设置云服务器登录信息。
设置服务器帐号密码。
设置字符集编码(如果不设置字符集编码,则中文字符将会在xshell中显示为乱码)。
设置好了就点击ok保存。
一切准备就绪,让我们连接看看云linux服务器的庐山真面目吧!
黑不隆冬的,啥都没有,这就是linux的shell啦。shell(壳)到底是什么东东呢?
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
linux作为服务器专用操作系统,主要就是默默的待在机房提供各项网络服务的,为了节省系统资源,像windows那样华丽丽的用户桌面就默认不加载了。当然现在越来越多的用户使用linux作为日常家庭办公用操作系统,所以就有了像gnome、kde这样超华丽的桌面。不过作为服务器使用还是推荐用命令行界面吧,毕竟省一点资源,网站打开可能会更快一点嘛!
打下面的命令去主目录(/home)看下
输入命令:cd
用xftp上传环境安装文件。
回到shell界面,用ll命令看下情况
输入命令:ll
是不是多了一个sh-130目录,130是我们的一键安装包的版本号。 请下载最新的版本安装,版本更新介绍,我们可以在changelog中查看。也希望大家多多反馈对于一键安装包的意见。(另外,熟悉linux的朋友,直接可以用wget命令下载我们的安装包,也不用安装Xftp,这样更加便捷。)
接下来按照说明,分步骤敲入安装命令(以下为redhat系统下安装示例)。
输入命令:chmod –R 777 sh-130
cd sh-130
/installsh
出现了一个选择提示,进入web服务器的选择界面。
这里您可以根据需要选择apache或者nginx服务器,这里是2个服务器的介绍:
apache:http://baikebaiducom/view/28283htm
nginx:http://baikebaiducom/view/926025htm
引用:
在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx
0846 + PHP 5214 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。
这里我们选择nginx,输入1,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择nginx)
然后我们再选择要安装的nginx的版本(如果web服务器选择的是apache,这里提示信息则是要安装apache的版本),总共有1015/125/144三个版本可以提供我们选择,这里我们选择125版本,则输入2,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择1015版本)
然后我们再选择要安装的php的版本,总共有5318/5423/557三个版本可以提供我们选择,这里我们选择557版本,则输入3,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择5318版本)
然后我们再选择要安装的mysql的版本,总共有5173/5535/5615三个版本可以提供我们选择,这里我们选择5173版本,则输入1,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择5173版本)
然后可以看到我们刚才选择的版本如下,我们输入y或者Y进行安装。
到这里,我们就正式进入环境安装环节了。你可以泡杯茶休息下。一般这个过程会持续半个小时的样子。
注意:
1、请在网络通畅的情况下进行安装,不要强行终止安装过程(强行关闭安装窗口或者ctrl+c强行终止安装进程),则会导致安装失败,以及出现不可预知的安装异常!
2、安装前,最好能跟系统盘打上快照,如果异常,方便回滚系统。
为了防止断掉和服务器的连接,可以新开一个shell窗口,将鼠标挪到窗口标签栏,右击,如下图所示:
可以看到,新开了一个窗口。
输入top命令
可以看到一直在跳动的系统资源统计。
好了。做完了这一些就让我们静静的等待吧!程序正在自动编译安装服务!
到这个界面说明安装已经结束了,我们可以输入以下命令再次验证是不是已经安装成功:
输入命令 :netstat -tunpl
我们可以看到正在运行状态的服务及端口:9000端口是php进程服务,3306端口是mysql服务,80端口是nginx服务,21端口是ftp服务。
如果看到以上信息,则说明安装没有异常。这里有一点需要注意的是,如果您选择安装的是apache,则没有上面的9000端口。为什么选择安装的是apache,就没有9000端口的php进程服务呢?这是因为nginx+php集成方式与apache+php集成方式不同,感兴趣的朋友可以自己入研究一下,这里就不再介绍。
大家有疑问了。那我怎么登录ftp和mysql呢?
在命令行里输入: cat accountlog
看到了没
ftp的用户名是:www
mysql的用户名是:root
密码就在屏幕上了!
另外我们也可以cat /alidata/website-infolog中查看到刚才安装软件的版本信息。
好了。所有配置都已经完成了。是不是很简单!
接下来我们可以访问一下一键安装包默认安装的phpwind论坛以及phpmyadmin。
直接在浏览器中输入您的域名或者ip,如果是第一次访问phpwind,则会自动跳转到安装页面。
如果访问的时候卡主,不出来页面,则检查一下防火墙,并自行设置或者关闭防火墙。
点击“接受”进行安装。
然后选择数据库类型为mysql,数据库用户名和数据库密码填写accountlog中的用户名和密码。然后根据自己的要求,设置好数据库名、管理员账号和密码等。
填写好信息后,点击下一步完成安装。
接下来我们访问phpmyadmin,在浏览器中键入我们的域名或者ip+phpmyadmin路径,即可访问我们安装的phpmyadmin。
输入mysql用户名以及密码,即可登录。
最后我们就可以在这里面操作管理我们的mysql啦。
0条评论