CentOS是安装在世界各地服务器上的流行操作系统,最新的主要版本CentOS 8于 2019 年 9 月发布。今天,我们将了解它带来了哪些新功能,并了解它们如何帮助您的网站实现可靠稳定的性能。
CentOS 是一个免费的开源Linux 发行版,于 2004 年首次发布。它基于一款名为Red Hat Enterprise Linux (RHEL) 的商业产品,几年前,销售 RHEL 的公司Red Hat, Inc.宣布已收购 CentOS 商标。
但这并不意味着Red Hat 是 CentOS 的开发实体。该发行版仍由开发人员和专家社区开发,技术支持仍仅通过留言板和聊天室提供。
Red Hat 唯一承诺的是协助管理该项目。由于RHEL 是开源的,因此该公司并不介意将其用作CentOS 持续开发的基础。
公平地说,CentOS 在过去 16 年中已经声名鹊起。使用统计数据显示,在网络托管服务器方面,它是第二受欢迎的 Linux 发行版,仅次于以用户友好性而闻名的 Ubuntu 发行版。
由于与RHEL 的紧密联系,服务器管理员和托管公司更喜欢 CentOS,而不是无数其他替代方案。顾名思义,Red Hat Enterprise Linux 面向商业市场,最适合在需要特殊功能和在某些非常特定条件下稳定性能的复杂环境中工作。基于它,CentOS 具有大多数这些功能,多年来,它的开发人员向全世界证明了可靠的性能是该项目的核心。
这两个发行版之间有很多相似之处,但如果您想在生产环境中使用 RHEL ,则需要付费订阅,而且费用可能很高。另一方面,CentOS 可以在任意数量的系统上完全免费使用。
尽管 CentOS 有很多优点,但它在用户和服务器管理员中的受欢迎程度远不及 Ubuntu ,这有几个很好的理由。正如我们已经提到的,Ubuntu 以易于使用而闻名,多年来,它的受欢迎程度促进了一个庞大的用户和开发人员社区的发展,该社区维护着大量的教程、有用的文章和技巧,可以回答几乎任何问题。
相比之下,作为企业级操作系统,CentOS 更加复杂,安装和正确设置可能更困难。运行它可能是一个挑战,尤其是对于初学者而言,而投入时间在项目上的专家社区规模较小,这意味着找到正确的答案可能更加困难。
RHEL 在这方面会简单一些,因为它有一个支持团队可以帮你解决问题。但是,使用 CentOS,你只能依赖开源社区,如果你的工作是让网站 24/7 全天候访问,而你遇到了自己无法解决的问题,那么这可不是理想的选择。
负责该项目的人员认为,CentOS 可以通过采用经过验证的而非最先进的技术为服务器管理员提供稳定的性能。因此,您不太可能找到默认包含在发行版中的最新软件包。例如,CentOS 8 是基于两年前发布的内核版本 4.18构建的。
该操作系统的图形用户界面基于GNOME Shell 3.28,后者也是十八个月前发布的。然而,在 CentOS 8 中,它使用了 Wayland通信协议,并受益于更强大的安全性和改进的多显示器支持等。对于喜欢旧版 X.org 服务器的用户,也可以使用旧版 X.org 服务器。
iptables实用程序已被nftables取代,成为配置操作系统防火墙的主要框架。有了它,可以从单个工具设置过滤来自IPv4 和 IPv6 地址的流量的规则。CentOS 8 还使用 TCP 网络堆栈版本 4.16,从而实现更高的稳定性、更好的性能和可扩展性。
软件管理方式也有所改进。CentOS 8 附带Yum v4,这是一个基于DNF(Dandified Yum)的软件包管理实用程序的新版本,具有许多优点,包括更高的性能、稳定的 API 以及对大于 4GB 的打包文件的支持。
不出所料,CentOS 8 中集成的大多数软件包都比上一版本提供的软件包更新。不过,这次操作系统还提供了对Nginx 的开箱即用支持,这证明了该 Web 服务器的巨大受欢迎程度,并使想要使用它的管理员的生活变得更轻松。
qemu-kvm 2.12 虚拟化器为CentOS 8 提供了虚拟化功能,并引入了新的沙盒功能。KVM虚拟化还可以支持5 级分页功能,从而增加客户机和主机使用的物理和虚拟地址空间。对 IPVLAN 虚拟网络驱动程序的支持使多个容器能够实现互联网连接。
Docker 不包含在 CentOS 8 中,但你可以使用podman、buildah、skopeo和runc来管理容器。这些工具继承自 RHEL,与 Docker 镜像完全兼容。
也许最大的变化是增加了对不同 CPU 架构的支持。直到 CentOS 7,该发行版都是为 x86_64 系统构建的,但新版本增加了对64 位 ARM 架构、IBM power和IBM Z 系统的支持。
新的架构为原本功能就很丰富的操作系统增添了更多的多功能性。
除了Nginx之外,CentOS 还附带了开箱即用的Apache HTTP 2.4 Web 服务器。一些受支持的语言包括PHP 7.2(默认情况下使用 FastCGI 进程管理器 (FPM))、Ruby 2.5、Perl 5.26、SWIG 3.0、Node.js 10.1和Python 3.6。可以在 CentOS 8 上运行的数据库服务器有MySQL 8.0、MariaDB 10.3、PostgreSQL 9.6和PostgreSQL 10以及Redis 5。
OpenSSL 1.1.1 和 TLS 1.3让管理员能够在传输过程中保护用户的数据,而支持 LUKS2 磁盘加密的Anaconda 安装程序以及设置系统范围的加密策略的能力,可以确保数据在存储中也是安全的。
开发人员可以使用的版本控制系统是Git 2.18、Mercurial 4.8 和 Subversion 1.10。
CentOS 7 | CentOS 8 | |
内核版本 | 3.10 | 4.18 |
GNOME Shell | 默认为 N/A | 3.28 |
包管理器 | 百胜v3 | 百胜v4 |
Apache HTTP | 2.4 | 2.4 |
Nginx | 默认为 N/A | 1.14 |
MySQL | 5.5 | 8.0 |
玛拉雅数据库 | 5.5 | 10.3 |
PostgreSQL 数据库 | 9.2 | 9.6和10 |
Redis | 默认为 N/A | 5 |
Python | 2.7.5 | 3.6 |
PHP | 5.4.16 | 7.2 |
红宝石 | 2.0.0 | 2.5 |
Perl | 5.16.3 | 5.26 |
OpenSSL | 1.0.1 | 1.1.1 |
防火墙框架 | iptables | nftables |
与往常一样,CentOS 的最新版本已经获得了不少新功能和模块,这些功能和模块应该会进一步改进它。不可避免的是,CentOS 7 中的一些功能在 CentOS 8 中被忽略了,要么是因为它被认为已经过时,要么是因为它被更好的替代方案取代了。
例如,virt-manager模块曾经允许服务器操作员在运行 CentOS 7及更早版本的服务器上创建、管理和停止虚拟机,现在已被Cockpit取代,Cockpit 是一种易于使用的解决方案,可通过浏览器窗口轻松完成所有这些任务以及其他许多任务。迁移到较新版本的 OpenSSL 意味着TLS 1.0 和 TLS 1.1正在逐步淘汰,而NetworkManager 服务的更改已使网络脚本过时。
当然,许多其他组件已被替换或修改。您可以看到,CentOS 8 中集成的几乎每个软件包都比 CentOS 7 中包含的软件包更新。对这些软件包所做的更改有数千个,不可能全部列出。然而,我们可以说的是,它们都应该使 CentOS 8比其前身更好。
问: CentOS 8 免费吗?
答:是的。虽然CentOS 基于付费产品 Red Hat Enterprise Linux (RHEL),但使用起来完全免费,您可以根据需要在任意数量的计算机和服务器上安装它。
问: 有哪些搭载CentOS 8系统的VPS服务商?
答:目前像萤光云、lightnode等知名厂商都搭载CentOS 8系统镜像,并且支持一键部署,2分钟即可快速开机。
问: 是什么让 CentOS 成为如此优秀的服务器操作系统?
答: CentOS 基于 RHEL,RHEL 可以说是最好的 Linux 发行版,也是企业环境中使用最广泛的 Linux 发行版之一。它采用成熟的技术,在过去 16 年中,由开发人员和专家社区开发,旨在为托管网站和 Web 应用程序提供最佳环境。
问: 为什么我应该为我的服务器选择 CentOS 8 而不是 CentOS 7?
答:支持的 CPU 架构范围更广,这意味着无论它们有多具体,CentOS 8 都可能满足您的项目要求。同时,众多新功能、改进和更新可以保证您的服务器更安全、更可靠的性能。
问: 我可以自己搭建 CentOS 服务器吗?
答: Ubuntu 等发行版向世界展示了安装和运行 Linux 操作系统并不困难。然而,CentOS 是一款企业级操作系统,其重点是稳定性能而不是用户友好性。因此,对于没有经验的用户来说,安装和维护 CentOS 服务器可能是一个相当大的挑战。
问: CentOS 用户可以获得什么样的支持?
答: 完全免费且由社区驱动意味着您没有专门的支持代理团队来帮助您解决在设置系统时可能遇到的任何问题。您必须依靠可以在空闲时间回答您问题的人。这就是为什么大多数网站所有者更喜欢使用主机服务提供商和经验丰富的系统管理员的服务,他们知道如何设置网站,并且非常清楚如果出现问题他们需要做什么。