CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。



介绍



centos_linuxcentos桌面


CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。每个版本的 CentOS都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。[1]  CentOS是Community Enterprise Operating System的缩写。


CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。


CentOS在2014初,宣布加入Red Hat。


CentOS 加入红帽后不变的是:


1. CentOS 继续不收费


2. 保持赞助内容驱动的网络中心不变


3. Bug、Issue 和紧急事件处理策略不变


4. Red Hat Enterprise Linux 和 CentOS 防火墙也依然存在


变化的是:


1. 我们是为红帽工作,不是为 RHEL


2. 红帽提供构建系统和初始内容分发资源的赞助


3. 一些开发的资源包括源码的获取将更加容易


4. 避免了原来和红帽上一些法律的问题


 



最新版本


最新版本为 CentOS 7[2]  。上个版本是6.8。


上游RHEL 7主要改进:


内核更新至3.10.0;支持Linux容器(Docker),Open VMware Tools及3D图像能即装即用,Open JDK7作为缺省JDK,ext4及XFS的LVM快照,转用systemd、firewalld及GRUB2,XFS作为缺省文件系统,内核空间内的iSCSI及FCoE,支持PTPv2,支持40G网卡等。


 



特点


1.可以把CentOS理解为Red Hat AS系列!它完全就是对Red Hat AS进行改进后发布的!各种操作、使用和RED HAT没有区别!


2.CentOS完全免费,不存在RED HAT AS4需要序列号的问题。


3.CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RED HAT那样需要花钱购买支持服务!


4.CentOS修正了许多RHEL的BUG!


5.CentOS版本说明:CentOS3.1 等同于 RED HAT AS3 Update1 CentOS3.4 等同于 RED HAT AS3 Update4 CentOS4.0 等同于 RED HAT AS4


与 RHEL的关系


RHEL 在发行的时候,有两种方式。一种是二进制的发行方式,另外一种是源代码的发行方式。无论是哪一种发行方式,你都可以免费获得(例如从网上下载),并再次发布。但如果你使用了他们的在线升级(包括补丁)或咨询服务,就必须要付费。RHEL 一直都提供源代码的发行方式,CentOS 就是将 RHEL 发行的源代码重新编译一次,形成一个可使用的二进制版本。由于 LINUX 的源代码是 GNU,所以从获得 RHEL 的源代码到编译成新的二进制,都是合法。只是 red hat 是商标,所以必须在新的发行版里将red hat 的商标去掉。red hat对这种发行版的态度是:"我们其实并不反对这种发行版,真正向我们付费的用户,他们重视的并不是系统本身,而是我们所提供的商业服务。" 所以,CentOS 可以得到 RHEL 的所有功能,甚至是更好的软件。但 CentOS 并不向用户提供商业支持,当然也不负上任何商业责任。如果你要将你的 RHEL 转到 CentOS 上,因为你不希望为 RHEL 升级而付费。当然,你必须有丰富 linux 使用经验,因此 RHEL 的商业技术支持对你来说并不重要。比如说,尽管没有RHEL的商业支持,现在也有不少企业选择使用CentOS,比如著名会议管理系统MUNPANEL。但如果你是单纯的业务型企业,那么还是建议你选购 RHEL 软件并购买相应服务。这样可以节省你的 IT 管理费用,并可得到专业服务。一句话,选用 CentOS 还是 RHEL,取决于你所在公司是否拥有相应的技术力量。


 



版本列表



版本



平台



RHEL 版本



发布日期



RHEL 发布日期



2



i386



2.1



2004.05.14



2002.05.17



3.1



i386,x86_64,ia64,s390,s390x



3



2004.03.19



2003.10.23



3.4 - Server CD



i386,x86_64,ia64,s390,s390x



3.4



2005.01.23



-



3.7



i386,x86_64,ia64,s390,s390x



3.7



2006.04.11



-



3.8



i386,x86_64



3.8



2006.08.25



2006.07.20



3.9



i386,x86_64,ia64,s390,s390x



3.9



2007.07.26



2007.06.15



4.0



i386,x86_64,various



4



2005.03.09



2005.02.14



4.6



i386,x86_64,ia64,alpha,s390,s390x,ppc (beta),sparc (beta)



4.6



2007.12.16



2007.11.16



4.7



i386,x86_64,ia64,alpha,s390,s390x



4.7



2008.09.13



2008.07.24



4.7 - Server CD



i386,x86_64,ia64,alpha,s390,s390x



4.7



2008.10.17



-



4.8



i386,x86-64,ia64,alpha,s390,s390x



4.8



2009.08.21



2009.05.18



4.9



i386,x86-64,ia64,alpha,s390,s390x



4.9



2011.03.02



2011.02.16



5.0



i386,x86_64



5



2007.04.12



2007.03.14



5.1



i386,x86_64



5.1



2007.12.02



2007.11.07



5.1 - LiveCD



i386



5.1



2008.02.18



-



5.2



i386,x86_64



5.2



2008.06.24



2008.05.21



5.2 - LiveCD



i386



5.2



2008.07.17



-



5.3



i386,x86_64



5.3



2009.03.31



2009.01.20



5.3 - Live CD



i386



5.3



2009.05.27



-



5.4



i386,x86_64



5.4



2009.10.21



2009.09.02



5.5



i386,x86_64



5.5



2010.05.14



2010.03.31



5.5 - LiveCD



i386,x86-64



5.5



2010.05.14



-



5.6



i386,x86-64



5.6



2011.04.07



2011.01.13



5.7



i386,x86-64



5.7



2011.09.14



-



5.8



i386,x86-64



5.8



2012.03.07



5.9

i386,x86-64

5.9

2013.01.17

2013.01.07


5.10[3] 

i386,x86-64


5.10

2013.10.19

2013.10.01

5.11


i386,x86-64

5.11


2014.09.30


2014.09.16



6.0



i386,x86-64



6



2011.07.04



2010-11-10



6.1



i386,x86-64



6.1



2011.12.10



2011-05-19



6.2



i386,x86-64



6.2



2011.12.20



2011-12-06




6.3



i386,x86-64



6.3



2012.07.10



2012.06.21


6.4

i386,x86-64

6.4

2013.03.08

2013.02.21

6.5[4] 

i386,x86_64


6.5


2013.12.01


2013.11.21


6.6


i386,x86_64

6.6


2014.10.27


2014.10.28


7.0[2] 

x86_64,armv7hl

7.0

2014.07.07

2014.06.11


7.1

x86_64

7.1

2015.03.31

2015.03.05


7.2

x86_64

7.2

2015.12.15

2015.12.15

7.3

x86_64

7.3

2016.12.12

2016.11.03



 



2014新版


CentOS 7于2014年7月7号正式发布,这是一个企业级的Linux发行版本,基于Red Hat红帽免费公开的源代码。


CentOS 7首个正式版的版本号为7.0.1406,主要更新内容如下:


— 内核更新至 3.10.0


— 支持 Linux 容器


— Open VMware Tools 及 3D 图像能即装即用


— OpenJDK-7作为缺省 JDK


— 原地升级 6.5 至 7.0


— ext4 及 XFS 的 LVM 快照


— 转用 systemd、firewalld 及GRUB2


— XFS 作为缺省文件系统


— 内核空间内的 iSCSI及FCoE


— 支持PTPv2


— 支持40G以太网络卡


CentOS7.1更新[5] 



  • 支持新的处理器(Broadwell)及图像卡(AMD hawaii)
  • 全面支持 LVM 缓存
  • 可挂载 ceph 方块设备
  • 更新 Hyper-V 网络驱动程序
  • 新的 libguestfs 功能
  • 全面支持 openJDK-1.8.0
  • 改善时钟(PTP 及 NTP)的稳定性
  • 更新 Networkmanager 组件至 1.0 版本
  • 更新 docker 至 1.4.1
  • 更新 openSSh 至 6.6.1
  • 新组件:Mozilla Thunderbird
  • 更新多个存储、网络及图像卡驱动程序
  • 科技预览:支持 Btrfs 文件系统、OverlayFS 及 Cisco VIC 内核驱动程序


 



结构


CentOS,也叫做社区企业操作系统,是企业Linux发行版领头羊Red Hat Enterprise Linux(以下称之为RHEL)的再编译版本。RHEL是很多企业采用的Linux发行版本,但是如果想得到RedHat的服务与技术支持,用户必须向Red Hat付费才可以。CentOS的开发者们使用Red Hat Linux的源代码创造了一个和RHEL近乎相同的Linux。但是一切和RedHat有关的商标都被去除了,因为RedHat不允许他们这样做。CentOS是免费的,你可以使用它像使用RHEL一样去构筑企业级的Linux系统环境,但不需要向RedHat付任何的费用。CentOS的技术支持主要通过社区的官方邮件列表、论坛和聊天室。


安装方式


 



DVD安装


1.把刻录好的光盘放到服务器CD-ROM.以CD-ROM启动.就会看到如下CentOS欢迎画面,按回车继续安装.


2.接着系统会问是否测试安装光盘,一般按”Skip”即可.


3.等一会,进入图形安装界面,直接按”Next”.

centos_linux_02


4.选择语言,选简体中文.按”Next”.


5.键盘配置,默认即可.


6.鼠标配置,默认.


7.安装类型,选择”服务器”


8.磁盘分区设置,建议选择”自动分区”.如有需要可以选择手工分区.手工分区方法,"用Disk Druid手动分区",新建分区,系统类型为"swap",大小设置为256(一般为内存的两倍),"固定大小",确定;再新建分区,挂载点"/",文件系统类型"ext3","使用全部可用空间".


9.选择删除系统内的所有分区.


10.磁盘设置,默认.期间可能会警告提示,按确定继续.


11.引导装载程序配置,默认.


12.网络配置. 点击" ",会弹出” 端口eth0”,不选择"使用DHCP进行配置",按实际情况填写IP和掩码.点击”确定”.回到”网络配置”界面,选择”手动设置”,”其他设置”的”网关”和DNS按实际情况填写.


13.防火墙配置,选择”无防火墙”.


14.语言支持和时区选择,都默认设置就可以了.(如果选择中文,可能有部分地方会出现乱码,所以还是建议大家用英文)


15.设置口令.输入一个不少于六位的口令.并在”确认”那里重新输入一次.记下你的口令,以后登陆系统要用到该口令.


16.选择软件包组,默认设置或者选择”最小安装”都可以.建议选择开发工具前两项.以后使用的时候就方便一些,安装一些软件要用到.


17.设置完毕,可以开始安装了.安装过程为30-60分钟.


 



uEFI安装


当硬盘容量超过2TB的时候(大容量硬盘或者Raid),MBR引导将无法识别多余的容量,此时必须将硬盘转换成GPT引导模式;在GPT格式下安装CentOS需要主板支持uEFI,一般智能主板均支持。CentOS暂不支持在uEFI上安装(官方 #0004969:DVD ISO 不能自动安装在 uEFI 系统上)。


将磁盘转成GPT格式步骤:首先在启动项那里选中第一项,然后Tab键进入 ,加上”text“(不带引号,空格text),回车进入文本安装界面,然后在语言选择后,按Ctrl+Alt+F2进入shell,输入命令/usr/sbin/parted -s /dev/sda mklabel gpt将磁盘转成GPT。


 



U盘安装


下面来简单说下使用U盘安装CentOS系统,这里以centos-6.2 i386 minimal为例安装。


使用到的材料:


1、centos-6.2 i386 minimal


2、UltraISO


3、U盘一个


开始安装:


1、打开UltraISO,依次点击“文件”》“打开”,选择“CentOS-6.2-i386-minimal.iso”文件。


2、“启动”》“写入硬盘映像”,在“硬盘驱动器选择u盘”,写入方式默认即可,点击“格式化”格式u盘,最后“写入”即可完成。


3、完成写入后,只保留“images”和“isolinux”两个文件夹,其余的全部删除,然后复制CentOS-6.2-i386-minimal.iso到u盘根目录。


4、重启以u盘启动,选”Install or upgrade an existing system”回车,语言选择“Chinese(Simplified)”回车,选择键盘模式,默认,然后回车。在下一步“Installation Method”选择“Hard drive”,然后选择u盘所在的分区(不确定的可以一个个尝试)。下面就是常规的系统安装了。


 



硬盘安装


必备工具


CentOS 6.2 ISO文件


Paragon-Partition-Manager:用于在xp下ext2或ext3的分区


grub4dos:用于引导linux系统


Ext2Fsd:用于windows下能读写ext2或ext3分区


安装步骤


1、ext3分区


使用Paragon-Partition-Manager分出一个ext3的分区,这个分区是用来存在iso文件的,大小根据iso文件确定,分区之后,硬盘还必须有未分区的空间,因为需要给安装CentOS留下。分区的时候顺便分配盘符。


使用Ext2Fsd访问ext3分区


安装打开ext2fsd软件,在刚才分好的ext3分区上右键,选择“配置文件系统”,点击“启用”,之后“更改并退出”。这时后就可以打开我的电脑,并看见已经多了一个磁盘分区,比如F。接着把iso文件复制到F分区的根目录,


2、用grub4dos软件制作引导菜单


打开我的电脑C盘,工具–文件夹选项–查看,在“隐藏受保护的操作系统文件(推荐)”前面的勾去掉,并选中“显示所有文件和文件夹”,再把“隐藏已经文件类型的扩展名”前面的勾去掉,最后点击应用,确定。


右键单击C盘根目录下的boot.ini,选择“属性”,把“只读”前面的勾去掉。接着,用记事本打开boot.ini文件,在最后一行添加如下内容:


C:\GRLDR="Grub"


解压grub4dos-0.4.4,把文件夹里面的GRLDR复制到C盘根目录。然后在C盘根目录新建boot文件夹,在boot文件夹中再建grub文件夹,把grub4dos-0.4.4文件夹里面的menu.lst复制到C:\boot\grub下。


然后解压挂载或解压iso文件,把里面的isolinux文件夹复制到F盘的根目录下面。


3、引导CentOS启动


重启电脑,进入引导界面,选择Grub,按下”C”键进入命令行模式。


输入“root (hd0,”(双引号不用输),这时按下”Tab”键,会在下面出现整个硬盘的所有分区,假如我们看到 “5”对应之前的ext3分区,那就继续输入”5)”,完整的命令是:root (hd0,5)。


按下回车键,继续输入kernel /isolinux/vmlinuz,再按下回车,输入initrd /isolinux/initrd.img,按下回车,继续输入boot,按下回车,这时grub已经能够引导centos进入安装界面。


4、[6] 


这里不多说,需要注意的有几点:


1、在要求选择CentOS image文件所在的分区时,一般选择最后一个分区。


2、这步一定要小心,不然会导致windows系统丢失。在提示“您要进行哪种类型的安装”时,选择“创建自定义布局”进行自定义分区,然后在未分区的空间上新建ext4分区,也可以使用LVM管理分区,不过boot必须是主物理分区。


 



支持时程



发布版本



完整更新



维护更新



3



2006-07-20



2010-10-31



4



2009-03-31



2012-02-29



5



Q1 2014



2017-03-31



6



Q2 2017



2020-11-30


7

-


2014-06-30


 



搭建LNMP


Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当地稳定。 用Nginx搭建web服务器,与Apache相比,占用更少的资源,支持更多的并发连接,体现更高的效率。编译环境


yum -y install gcc openssl-devel zlib-devel pcre-devel


yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel ssse2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers


 



nginx的安装


添加用户,用户组


groupadd www


useradd -g www -s /bin/falsh -M /www


#安装Nginx tar -zxvf nginx-1.2.0.tar.gz && cd nginx-1.2.0 && ./configure --user=www --group=www \ --prefix=/usr/local/webserver/nginx \ --sbin-path=/usr/local/webserver/nginx/sbin/nginx \ --conf-path=/usr/local/webserver/nginx/conf/nginx.conf \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-pcre \ --lock-path=/var/run/nginx.lock\ --pid-path=/var/run/nginx.pid 第三步:更改配置


#更改配置修改一些参数,别直接替换文件,这只是一部分 user www events { use epoll; worker_connections 1024; } listen 80;


server_name localhost;


index   index.phpindex.html index.htm ;root /www/html;


location ~ .*\.(php|php5)?${ fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /www/html/$fastcgi_script_name; include fastcgi_params; include fastcgi.conf;} #检测配置文件 /usr/local/webserver/nginx/sbin/nginx -t #提示表示成功 #关闭防火墙,在浏览器里输入192.168.127.6(当前实验主机),看到welcome to nginx!则表示nginx安装成功。 接下来安装mysql,这跟搭建lamp环境时完全一样,下面就不加以说明。 安装PHP:


安装libiconv和libevent


tar -zxvf libevent-1.4.12-stable,tar zxf libiconv-1.14.tar.gz


分别解压,配置安装


./configure && make && make install


php


编译,安装


./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --enable-fpm --with-libevent-dir=/usr/local --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-iconv-dir=/usr/local


make ZEND_EXTRA_LIBS='-liconv'


make && make install


 



设置php支持


nginx.conf


43 location / {


44 root html;


45 index index.php index.html index.htm;


mv /usr/loca/php/etc/php-fpm-default.conf php-fpm.conf


修改 php-fpm.conf


131 pm.max_children = 50


136 pm.start_servers = 20


141 pm.min_spare_servers = 5


146 pm.max_spare_servers = 35


152 pm.max_requests = 500


执行 ./usr/local/php/sbin/php-fpm


 



测试


编写 phpinfo 测试


vim /www/html/index.php


<?


Phpinfo();


?>[7] 







Linux发行版 (列表)