阿里云CentOS系统搭建全攻略:开启云端技术之旅
前期准备:开启云端征程前的必备事项
在当今数字化时代,云计算已成为企业和开发者构建应用和服务的重要基础设施。阿里云作为全球领先的云计算服务提供商,提供了丰富的云计算产品和服务,其中 CentOS 系统在阿里云上的应用非常广泛。CentOS 是基于 Red Hat Enterprise Linux(RHEL)重新编译的开源操作系统,具有高度的稳定性和可靠性,是服务器环境的理想选择。无论是搭建网站、运行应用程序,还是进行数据处理和分析,阿里云 CentOS 系统都能提供强大的支持。
在开始搭建阿里云 CentOS 系统之前,我们需要提前了解所需资源并做好充分的准备工作,这将有助于我们更加顺利地完成系统搭建,确保后续的应用和服务能够稳定运行。接下来,让我们详细了解一下搭建阿里云 CentOS 系统需要准备哪些资源。
- 阿里云账号:如果您还没有阿里云账号,可以联系博主申请渠道链接注册,后续购买和续费享受折扣优惠。注册过程简单便捷,按照提示填写相关信息即可完成注册。拥有阿里云账号是使用阿里云所有服务的基础,通过账号您可以管理和操作您在阿里云上的各种资源。
- 域名(可选):如果您计划搭建网站或提供对外访问的服务,建议您提前注册一个域名。域名是网站在互联网上的地址,方便用户记忆和访问。您可以通过阿里云的域名注册服务,选择一个合适的域名进行注册。在注册域名时,需要注意域名的简洁易记,同时要符合相关的域名注册规则。
- 服务器配置信息:在创建阿里云服务器实例时,需要选择合适的服务器配置,包括 CPU、内存、存储、网络等。根据您的应用需求和预算,选择合适的配置可以确保服务器能够满足业务的运行要求。例如,如果您的应用是一个高并发的网站,可能需要选择配置较高的服务器,以保证网站的响应速度和稳定性;如果只是一个简单的测试环境,可以选择配置较低的服务器,以降低成本。同时,还需要选择合适的操作系统镜像,这里我们选择 CentOS 系统镜像。阿里云提供了多种版本的 CentOS 镜像供用户选择,您可以根据自己的需求选择合适的版本 。
购买阿里云服务器:挑选合适的云端基石
当我们完成前期准备工作后,就可以开启购买阿里云服务器的流程,这是搭建阿里云 CentOS 系统的关键一步,如同为我们的应用和服务挑选一块坚实的基石。下面为大家详细介绍购买阿里云服务器的具体步骤:
- 登录阿里云官网:打开您常用的浏览器,输入阿里云官网地址阿里云-计算,为了无法计算的价值,进入阿里云官网首页。如果您已经注册了阿里云账号,直接点击页面右上角的 “控制台” 按钮,输入账号和密码进行登录;若尚未注册账号,可以联系博主申请渠道链接注册,后续购买和续费享受折扣优惠,按照页面提示完成注册流程,注册成功后再登录控制台。
- 进入服务器选购页面:登录阿里云控制台后,在页面上方的产品与服务菜单中,找到 “弹性计算” 选项,在展开的下拉菜单中选择 “云服务器 ECS”,即可进入云服务器 ECS 产品页面。这里是选购阿里云服务器的核心区域,提供了丰富的配置选项和购买方式 。
- 选择地域:在云服务器 ECS 产品页面,首先看到的是 “地域” 选择栏。地域是指云服务器所在的数据中心地理位置,阿里云在全球多个地区设有数据中心,如华北 2(北京)、华东 1(杭州)、华南 1(深圳)、亚太东南 1(新加坡)等 。选择地域时,需要综合考虑多方面因素
网络延迟:如果您的目标用户主要集中在某个地区,建议选择距离该地区较近的数据中心地域,以降低网络延迟,提高用户访问速度。例如,若您的用户主要在中国大陆北方地区,华北 2(北京)地域是一个不错的选择;若面向全国用户,华东 1(杭州)地域的网络覆盖和性能表现通常较为出色。
数据合规性:根据业务需求和数据合规要求,选择符合相关规定的地域。例如,某些行业的数据可能需要存储在特定国家或地区的数据中心,以满足法律法规要求。
价格因素:不同地域的服务器价格可能会有所差异,在满足业务需求的前提下,可以对比不同地域的价格,选择性价比高的地域。
- 配置服务器规格:选择好地域后,接下来是配置服务器规格,这包括多个关键参数:
实例规格:实例规格决定了服务器的计算能力,包括 CPU 核心数、内存大小等。阿里云提供了多种类型的实例规格族,如通用型、计算优化型、内存优化型、存储优化型等。对于一般的网站搭建和小型应用程序,共享型实例通常能满足需求,例如共享型 s6,它具有较高的性价比;如果是对计算性能要求较高的大数据分析、人工智能训练等任务,则需要选择计算优化型或内存优化型实例,如计算型 c7、内存型 r7 等。在选择实例规格时,可以参考阿里云提供的性能参数表和应用场景推荐,根据实际业务负载进行评估和选择。
镜像:镜像是指服务器预装的操作系统和应用软件环境。在创建阿里云服务器时,我们选择 CentOS 系统镜像。阿里云提供了多种版本的 CentOS 镜像,如 CentOS 7、CentOS 8 等,您可以根据自己的熟悉程度和业务需求进行选择。一般来说,CentOS 7 是目前应用较为广泛的版本,具有良好的兼容性和稳定性;CentOS 8 则在功能和性能上有一些改进和提升,如果您对新特性有需求,可以选择 CentOS 8。此外,阿里云还提供了市场镜像,这些镜像包含了一些预装的应用程序和环境,如 LAMP(Linux + Apache + MySQL + PHP)环境、LNMP(Linux + Nginx + MySQL + PHP)环境等,如果您希望快速搭建特定的应用环境,可以考虑选择市场镜像。
- 存储设置:存储是服务器中用于存放数据和系统文件的重要部分,阿里云提供了不同类型的存储选项:
- 系统盘:系统盘用于存放操作系统和应用程序,每个服务器实例都必须有一个系统盘。阿里云的系统盘默认采用云盘类型,具有高可靠性和数据安全性,支持快照备份和还原功能。系统盘的大小一般根据所选镜像大小而定,通常为 40GB - 500GB 不等。对于一般的应用场景,40GB 的系统盘基本可以满足需求;如果您预计服务器上会安装大量的应用程序或存储较多的系统文件,可以适当增大系统盘的容量。
- 数据盘:数据盘用于存放用户的数据和日志文件等。如果您的业务有较多的数据存储需求,建议添加数据盘。阿里云提供了高效云盘、SSD 云盘等多种类型的数据盘,高效云盘具有较高的性价比,适合一般性的数据存储;SSD 云盘则具有更高的 I/O 性能,读写速度更快,适用于对数据读写速度要求较高的场景,如数据库应用。在选择数据盘时,需要根据业务的数据量和读写性能要求来确定数据盘的类型和大小。您可以根据实际情况添加多个数据盘,并对数据盘进行分区和格式化,以满足不同的数据存储需求。
- 网络配置:网络配置决定了服务器的网络访问能力和安全性:
公网带宽:公网带宽是指服务器与外部网络通信的带宽大小。如果您的服务器需要对外提供服务,如搭建网站、运行应用程序供用户访问,就需要配置公网带宽。公网带宽的计费方式有按固定带宽计费和按使用流量计费两种。按固定带宽计费适用于流量比较稳定的场景,您可以根据预估的访问量选择合适的带宽大小;按使用流量计费则适合流量波动较大的场景,根据实际使用的流量进行计费,更加灵活。在选择公网带宽时,可以参考阿里云提供的带宽计费说明和业务流量预估工具,合理选择带宽大小,以避免带宽不足影响服务质量,或带宽过大造成资源浪费和成本增加。
安全组:安全组是一种虚拟防火墙,用于控制服务器的网络访问规则。在购买服务器时,需要设置安全组规则,以允许或拒绝特定的 IP 地址、端口和协议的访问。例如,如果您搭建的是一个 Web 网站,需要开放 HTTP(端口 80)和 HTTPS(端口 443)协议的访问权限,以允许用户通过浏览器访问您的网站;同时,为了保障服务器的安全,建议关闭不必要的端口,如默认的远程桌面端口 3389(如果您使用的是 Windows 系统服务器)或 SSH 端口 22(如果您使用的是 Linux 系统服务器),只允许特定的 IP 地址或 IP 地址段进行访问。您可以根据业务需求和安全策略,灵活配置安全组规则,确保服务器在提供服务的同时,保障网络安全。
- 设置登录密码:在完成上述配置后,还需要为服务器设置登录密码。密码是访问服务器的重要凭证,因此需要设置一个强密码,以提高服务器的安全性。强密码应包含大小写字母、数字和特殊字符,长度建议在 8 位以上。设置密码时,务必牢记密码,避免遗忘。如果忘记密码,可以在阿里云控制台通过重置密码功能重新设置密码,但需要注意的是,重置密码可能会对正在运行的业务产生一定影响,因此建议在业务低谷期进行操作。
完成以上所有配置和设置后,仔细核对订单信息,确认无误后点击 “立即购买” 按钮,按照页面提示完成支付流程。支付成功后,阿里云将开始为您创建服务器实例,创建过程通常需要几分钟时间,您可以在阿里云控制台的 “实例管理” 页面查看服务器的创建进度和状态。当服务器创建完成并状态显示为 “运行中” 时,就可以进行下一步的 CentOS 系统安装和配置工作了。
连接服务器:搭建通往云端的桥梁
当我们成功购买阿里云服务器后,就需要通过一些工具来连接到服务器,以便进行后续的 CentOS 系统配置和管理工作。Xshell 和 Putty 是两款常用的远程连接工具,它们都支持 SSH 协议,能够安全、稳定地连接到阿里云服务器,下面将为大家详细介绍使用这两款工具连接服务器的步骤。
一、使用 Xshell 连接阿里云服务器
- 获取公网 IP:登录阿里云控制台,在 “实例与镜像” - “实例” 页面中,找到您购买的服务器实例,在实例信息中可以看到 “公网 IP 地址”,这个 IP 地址是您连接服务器的重要标识 ,请务必记录下来。
- 打开 Xshell:如果您还没有安装 Xshell,可以从 Xshell 官方网站(https://www.netsarang.com/zh/xshell/ )下载并安装。安装完成后,打开 Xshell 软件。
- 新建会话:在 Xshell 主界面中,点击左上角的 “文件” - “新建”,或者直接点击工具栏上的 “新建” 图标,弹出 “新建会话属性” 窗口。
- 填写连接信息:在 “新建会话属性” 窗口中:
名称:可以自定义一个名称,方便您识别和管理该连接,例如 “阿里云 CentOS 服务器”。
主机:填写您在阿里云控制台获取到的公网 IP 地址。
端口号:保持默认的 22 端口,SSH 协议默认使用 22 端口进行连接 。如果您在服务器安全组中修改了 SSH 端口,这里需要填写对应的修改后的端口号。
协议:选择 “SSH”,因为我们使用 SSH 协议连接阿里云服务器。
- 用户身份验证:点击 “确定” 按钮保存会话设置后,回到 Xshell 主界面,选中刚才新建的会话,点击 “连接”。第一次连接时,会弹出 “SSH 安全警告” 窗口,提示您服务器的指纹信息,点击 “接受并保存”,表示信任该服务器。接下来会弹出 “输入用户名” 窗口,阿里云 CentOS 系统默认的用户名是 “root”,输入 “root” 后点击 “确定”,然后在弹出的 “输入密码” 窗口中,输入您在购买服务器时设置的登录密码,点击 “确定”。
- 登录成功:如果输入的用户名和密码正确,您将成功连接到阿里云服务器,此时会在 Xshell 窗口中显示服务器的命令行界面,您可以在其中输入各种命令来管理和配置 CentOS 系统。例如,输入 “ls” 命令可以列出当前目录下的文件和文件夹;输入 “cd /” 命令可以切换到根目录等。
二、使用 Putty 连接阿里云服务器
- 获取公网 IP:同 Xshell 连接方式一样,在阿里云控制台获取服务器的公网 IP 地址 。
- 下载并安装 Putty:访问 Putty 官方网站(https://www.putty.org/ ),下载适合您操作系统版本的 Putty 安装包。下载完成后,运行安装包,按照提示完成安装。
- 打开 Putty:安装完成后,在开始菜单或应用程序列表中找到 Putty 并打开。
- 填写连接信息:在 Putty 主界面中:
Host Name (or IP address):填写阿里云服务器的公网 IP 地址。
Port:保持默认的 22 端口。
Connection type:选择 “SSH”。
- 保存会话(可选):如果您希望下次连接时无需重新输入连接信息,可以在 “Saved Sessions” 文本框中输入一个名称,然后点击 “Save” 按钮,将当前连接配置保存下来。下次使用时,直接在 “Saved Sessions” 列表中选择保存的会话,点击 “Load” 按钮,即可加载连接配置 。
- 连接服务器:点击 “Open” 按钮,尝试连接阿里云服务器。第一次连接时,会弹出 “PuTTY Security Alert” 窗口,提示您服务器的密钥指纹信息,点击 “Yes”,表示信任该服务器。然后会弹出 “login as:” 提示框,输入 “root” 并回车,接着在 “Password:” 提示框中输入服务器的登录密码,输入完成后回车。
- 登录成功:如果一切配置正确,您将成功登录到阿里云服务器,Putty 窗口中将显示服务器的命令行界面,您可以开始在服务器上执行各种命令。
系统安装与初始化:为云端基石筑牢根基
在成功连接到阿里云服务器后,我们便正式步入系统安装与初始化的关键阶段。这一过程犹如为云端大厦奠定坚实的基石,关乎着整个服务器环境的稳定性和后续应用的顺畅运行。下面将详细介绍 CentOS 系统的安装与初始化步骤 。
一、下载 CentOS 镜像
CentOS 镜像可从官方网站及众多国内镜像站点获取。官方下载地址为:https://www.centos.org/download/ 。同时,国内诸如阿里云开源镜像站(https://developer.aliyun.com/mirror/centos )、清华大学开源镜像站(https://mirrors.tuna.tsinghua.edu.cn/centos/ )等,能提供更为快速的下载体验 。在选择版本时,需综合多方面因素考量:
- 使用场景:若用于企业生产环境,追求长期稳定支持,建议选择 CentOS Linux 版本;若作为开发者的测试环境,期望提前体验新功能和频繁更新,CentOS Stream 版本则更为适宜。
- 硬件架构:依据服务器硬件架构选择对应版本,常见的 x86_64 对应 64 位架构,aarch64 对应 ARM 架构。例如,若服务器采用的是常见的 x86_64 架构 CPU,就应下载 x86_64 版本的 CentOS 镜像。
- 软件兼容性:务必确保所选 CentOS 版本与计划运行的软件相互兼容。部分旧版软件可能仅兼容 CentOS 7,而新开发的应用或许更适配 CentOS 8 及以上版本 。
二、制作启动盘
制作启动盘可借助 Rufus、UltraISO 等工具,以下以 Rufus 为例进行说明:
- 准备工作:备好容量至少 8GB 的 U 盘,提前备份 U 盘中重要数据,因为制作过程会格式化 U 盘 。
- 下载并安装 Rufus:访问 Rufus 官网(Rufus - The Official Website (Download, New Releases) ),下载对应操作系统版本的软件并完成安装。
- 制作启动盘:打开 Rufus 软件,在 “设备” 栏选中 U 盘盘符;“引导类型” 栏选择 “ISO Image”,点击 “浏览” 找到下载的 CentOS ISO 镜像文件;“分区类型” 栏,若服务器支持 UEFI 启动,优先选择 “GPT”,否则选 “MBR”;“目标系统类型” 根据实际情况选择;“文件系统” 通常选 “FAT32”;“簇大小” 保持默认;点击 “开始”,Rufus 便开始将 ISO 镜像写入 U 盘 。
三、安装 CentOS 系统
完成启动盘制作后,即可着手安装 CentOS 系统 :
- 设置 U 盘启动:将制作好的启动盘插入阿里云服务器,重启服务器。在启动过程中,根据屏幕提示按下对应的按键(常见为 F2、F10、F12 或 Delete 键)进入 BIOS 设置界面 。在 BIOS 的 “Boot” 选项中,将 U 盘设备调整为第一启动项,保存设置并退出 BIOS 。
- 进入安装界面:服务器从 U 盘启动后,进入 CentOS 安装界面,选择 “Install CentOS”(以 CentOS 7 为例,不同版本界面可能略有差异)并回车 。
- 选择语言:安装界面提供多种语言选项,建议选择 “English”,以减少因语言显示问题导致的配置困扰,方便后续操作和系统管理 。
- 配置网络:在 “Network & Host Name” 选项中,开启网络连接。若为服务器环境,推荐设置静态 IP 地址。点击 “Configure” 进行配置,选择 “IPv4 Settings”,方法选择 “Manual”,手动填写 IP 地址、子网掩码、网关和 DNS 服务器地址等信息 。若为测试环境,可选择 DHCP 自动获取 IP 地址 。同时,设置主机名,建议采用有意义且便于识别的名称,如 “web - server - 01” 。
- 磁盘分区:进入 “Installation Destination” 选项进行磁盘分区,可选择自动分区或手动分区 。手动分区时,常见的分区方案如下:
/boot 分区:分配约 1GB 空间,格式化为 ext4 文件系统,用于存放内核和启动文件 。
swap 分区:根据内存大小设置,当内存小于 8GB 时,设为内存的 2 倍;内存大于 8GB 时,建议与内存大小相等,该分区用于虚拟内存 。
/ 分区:将剩余空间分配给根分区,可格式化为 xfs 或 ext4 文件系统,用于存储系统核心数据和用户文件 。若服务器用于数据库或日志存储,可单独划分分区,以提升数据安全性和读写性能 。
- 设置 root 密码:在 “Root Password” 选项中,为 root 账户设置强密码,密码应包含大小写字母、数字和特殊字符,长度不少于 8 位,以保障系统安全 。
- 安装软件包:默认安装模式为 “Minimal Install”,仅安装基础功能软件包。若需要图形界面,可勾选 “GNOME Desktop”;若用于服务器部署,可选择 “Infrastructure Server”,并根据需求添加 “Development Tools” 等工具软件包 。
完成上述设置后,点击 “Begin Installation” 开始安装 CentOS 系统,安装过程需等待一段时间,安装完成后,移除 U 盘,重启服务器,即可进入 CentOS 系统 。
四、更新系统
系统安装完成后,及时更新系统软件包至关重要,可提升系统安全性和稳定性,修复已知漏洞 。使用 yum 命令进行更新,操作步骤如下:
- 打开终端:通过 Xshell 或 Putty 等工具连接到服务器,进入命令行终端 。
- 更新系统软件包:在终端输入以下命令:
sudo yum update
执行该命令后,yum 会检查可用的软件包更新,并列出需要更新的软件包列表 。输入 “y” 并回车,确认更新,yum 便开始下载并安装更新软件包 。更新过程可能需要一些时间,取决于网络速度和更新软件包的数量 。更新完成后,建议重启服务器,使更新生效 。
sudo reboot
基础环境配置:为系统运行打造良好环境
在完成阿里云 CentOS 系统的安装与初始化后,接下来就需要对系统的基础环境进行配置,这一步对于确保系统的稳定运行、保障网络安全以及提高工作效率至关重要。它就像是为一座大厦精心布置内部设施,使其能够舒适、安全地迎接各种使用场景。下面将详细介绍基础环境配置的关键步骤和要点 。
一、设置防火墙
防火墙是服务器安全的重要防线,它能够监控和控制网络流量,防止未经授权的访问和恶意攻击 。在 CentOS 7 中,默认使用的是 firewalld 防火墙,它是一种动态防火墙管理工具,提供了更灵活和便捷的配置方式 。当然,如果你对 iptables 防火墙更为熟悉,也可以将其替换为 iptables 。下面分别介绍这两种防火墙的配置方法 。
(一)firewalld 防火墙配置
- 启动和停止 firewalld:使用 systemctl 命令来管理 firewalld 服务的启动、停止和状态查看 。
启动 firewalld:在终端输入以下命令,启动 firewalld 服务 。
sudo systemctl start firewalld
停止 firewalld:若需要停止 firewalld 服务,可输入以下命令 。
sudo systemctl stop firewalld
查看 firewalld 状态:通过以下命令可以查看 firewalld 服务当前的运行状态 。
sudo systemctl status firewalld
- 开放常用端口:如果你的服务器需要提供 Web 服务、SSH 远程连接等功能,就需要开放相应的端口 。例如,开放 22 端口用于 SSH 远程连接,80 端口用于 HTTP 访问,443 端口用于 HTTPS 访问 。
开放单个端口(永久生效):以开放 80 端口为例,使用以下命令 。
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
其中,--zone=public表示作用于公共区域,--add-port=80/tcp表示添加 80 端口的 TCP 协议访问规则,--permanent表示设置永久生效,重启后依然有效 。若不添加--permanent参数,则只在当前系统运行期间生效,重启后设置会失效 。
开放多个连续端口(永久生效):假设要开放 8080 - 8085 端口,可使用以下命令 。
sudo firewall-cmd --zone=public --add-port=8080-8085/tcp --permanent
重新加载防火墙配置:在完成端口添加或其他配置更改后,需要重新加载防火墙配置,使新的设置生效 。
sudo firewall-cmd --reload
- 查看已开放端口:可以使用以下命令查看当前已经开放的端口 。
sudo firewall-cmd --zone=public --list-ports
- 关闭端口:若需要关闭某个已经开放的端口,以关闭 80 端口为例,使用以下命令 。
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
同样,执行完此命令后,需要重新加载防火墙配置,使关闭端口的设置生效 。
(二)iptables 防火墙配置
- 安装 iptables:CentOS 7 默认使用 firewalld 防火墙,若要使用 iptables,首先需要安装 。
sudo yum install iptables-services
- 屏蔽 firewalld 并关闭:安装好 iptables 后,为了避免冲突,需要屏蔽 firewalld 并关闭它 。
sudo systemctl mask firewalld sudo systemctl stop firewalld
- 配置 iptables 规则:使用 vim 等文本编辑器打开 iptables 配置文件/etc/sysconfig/iptables 。
sudo vim /etc/sysconfig/iptables
在文件中添加或修改规则,例如,允许 22 端口的 SSH 连接、80 端口的 HTTP 访问和 443 端口的 HTTPS 访问 。
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
这里的-A INPUT表示在 INPUT 链中追加规则,-p tcp表示协议为 TCP,-m state --state NEW表示匹配新的连接,--dport后面跟的是目标端口号,-j ACCEPT表示接受该连接 。
4. 使文件生效并设置开机自启:保存并退出配置文件后,重启 iptables 服务使配置生效,并设置开机自启动 。
sudo systemctl restart iptables
sudo systemctl enable iptables.service
二、配置 SELinux
SELinux(Security - Enhanced Linux)是一种强制访问控制(MAC)的安全子系统,它通过对进程和文件资源采用 MAC 控制方式,为 Linux 系统提供了增强的安全性,最大限度地减小系统中服务进程可访问的资源 。不过,在某些情况下,SELinux 可能会对一些应用程序的正常运行产生影响,这时候就需要对其进行相应的配置 。
- SELinux 的工作模式:SELinux 有三种工作模式:
enforcing:强制模式,违反 SELinux 规则的行为将被阻止并记录到日志中 。
permissive:宽容模式,违反 SELinux 规则的行为只会记录到日志中,不会阻止,一般用于调试
disabled:关闭 SELinux,系统将不进行 SELinux 相关的安全检查 。
- 查看 SELinux 状态:可以使用getenforce命令查看当前 SELinux 的工作模式 。
getenforce
如果返回Enforcing,表示当前处于强制模式;返回Permissive,表示处于宽容模式;返回Disabled,表示 SELinux 已关闭 。
- 临时关闭 SELinux:若只是临时需要关闭 SELinux,使其在本次系统运行期间不再生效,可以使用setenforce命令 。
sudo setenforce 0
此时再使用getenforce命令查看,会发现 SELinux 的工作模式变为Permissive 。不过,这种方式只是临时生效,重启系统后,SELinux 会恢复到原来的工作模式 。
- 永久关闭 SELinux:如果想要永久关闭 SELinux,需要修改配置文件/etc/selinux/config 。使用 vim 编辑器打开该文件 。
sudo vim /etc/selinux/config
找到SELINUX=enforcing这一行,将其修改为SELINUX=disabled 。修改完成后保存并退出文件,然后重启系统,SELinux 就会被永久关闭 。
- 在开启状态下配置 SELinux 策略:如果希望在 SELinux 开启的情况下,允许某些特定的操作,可以通过修改 SELinux 策略来实现 。例如,如果你的 Web 服务器需要访问某个特定的目录,可以使用chcon命令来更改该目录的安全上下文 。假设 Web 服务器的根目录为/var/www/html,需要将其安全上下文更改为httpd_sys_content_t 。
sudo chcon -R -t httpd_sys_content_t /var/www/html
其中,-R表示递归修改目录及其子目录下所有文件的安全上下文,-t后面跟的是目标安全上下文类型 。
三、安装常用工具
在 CentOS 系统中,安装一些常用工具可以极大地提高工作效率,满足不同的操作需求 。以下是一些常见工具的安装方法 。
- wget:wget 是一个非常实用的下载工具,用于从网络上下载文件 。使用 yum 命令安装 wget
sudo yum install wget
- 安装完成后,就可以使用wget命令来下载文件了 。例如,下载一个名为example.txt的文件,文件的 URL 为http://example.com/example.txt,可以使用以下命令 。
wget http://example.com/example.txt
- curl:curl 也是一个强大的文件传输工具,它支持多种协议,如 HTTP、HTTPS、FTP 等 。安装 curl 的命令如下 。
sudo yum install curl
curl 的使用非常灵活,例如,使用 curl 发送 HTTP 请求获取网页内容 。
curl http://example.com
- vim:vim 是一个功能强大的文本编辑器,在 Linux 系统管理中经常会用到 。安装 vim 的命令如下 。
sudo yum install vim
安装完成后,就可以使用vim命令来编辑文件了 。例如,编辑一个名为test.txt的文件 。
vim test.txt
高级应用部署:拓展系统的强大功能
当完成阿里云 CentOS 系统的基础环境配置后,便为后续更高级的应用部署搭建好了坚实的舞台。接下来,我们将进一步拓展系统的功能,通过搭建 Web 服务器、部署数据库以及部署 Java Web 应用程序,让这台阿里云服务器真正成为一个强大的应用服务平台,满足各种复杂的业务需求。
一、搭建 Web 服务器(以 Nginx 为例)
Nginx 是一款轻量级的高性能 Web 服务器和反向代理服务器,因其出色的性能和稳定性,在 Web 应用领域被广泛使用。下面将详细介绍在阿里云 CentOS 系统上使用 yum 安装 Nginx、修改配置文件并启动服务的步骤 。
- 使用 yum 安装 Nginx:在安装 Nginx 之前,确保系统已经更新到最新状态,这有助于获取最新的软件包和安全补丁 。执行以下命令更新系统 :
sudo yum update
更新完成后,添加 Nginx 的官方 yum 源 。对于 CentOS 7 系统,可以执行以下命令添加 Nginx 稳定版仓库 :
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
添加源后,再次更新 yum 软件包索引 :
sudo yum update
最后,使用 yum 命令安装 Nginx :
sudo yum install nginx
安装过程中,yum 会自动解决依赖关系并安装 Nginx 及其相关组件 。安装完成后,可以使用nginx -v命令查看 Nginx 的版本信息,确认是否安装成功 。
- 修改配置文件:Nginx 的主配置文件位于/etc/nginx/nginx.conf 。使用 vim 编辑器打开该文件 :
sudo vim /etc/nginx/nginx.conf
在配置文件中,可以根据需求进行各种配置,例如设置服务器名称、监听端口、日志路径等 。以下是一些常见的配置修改示例 :
修改监听端口:默认情况下,Nginx 监听 80 端口。如果需要修改监听端口,找到server块中的listen指令,将其修改为所需的端口号,例如将其修改为 8080 端口 :
server {listen 8080;server_name your_domain.com;...
}
配置虚拟主机:如果需要在同一台服务器上部署多个网站,可以配置虚拟主机 。在nginx.conf文件中添加多个server块,每个server块对应一个虚拟主机 。例如,添加一个新的虚拟主机,监听 80 端口,服务器名称为new_domain.com :
server {listen 80;server_name new_domain.com;location / {root /usr/share/nginx/html/new_domain;index index.html index.htm;}
}
这里的root指定了网站的根目录,index指定了默认的索引文件 。需要确保/usr/share/nginx/html/new_domain目录存在,并在其中放置相应的网站文件 。
- 启动服务:完成配置文件的修改后,就可以启动 Nginx 服务了 。使用 systemctl 命令启动 Nginx :
sudo systemctl start nginx
启动成功后,可以使用systemctl status nginx命令查看 Nginx 的运行状态,确认服务是否正常启动 。如果状态显示为active (running),则表示 Nginx 已经成功启动 。为了使 Nginx 在系统启动时自动启动,可以执行以下命令 :
sudo systemctl enable nginx
此外,如果在修改配置文件后需要重新加载配置,使更改生效,可以使用以下命令 :
sudo systemctl reload nginx
如果需要停止 Nginx 服务,执行以下命令 :
sudo systemctl stop nginx
二、部署数据库(以 MySQL 为例)
MySQL 是一种广泛使用的开源关系型数据库管理系统,在 Web 应用开发中扮演着重要角色。以下是在阿里云 CentOS 系统上安装、初始化和基本配置 MySQL 的步骤 。
- 添加 MySQL 官方源:CentOS 系统默认的 yum 源中可能没有 MySQL 的安装包,因此需要添加 MySQL 官方源 。首先,安装 wget 工具(如果尚未安装),用于下载文件 :
sudo yum install wget
然后,使用 wget 下载 MySQL 官方的 yum 源安装包 。以 MySQL 8.0 为例,执行以下命令 :
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
下载完成后,安装该 yum 源安装包 :
sudo rpm -ivh mysql80-community-release-el7-11.noarch.rpm
安装过程中,可能会出现一些提示信息,按照提示操作即可 。安装完成后,yum 源中就会包含 MySQL 的安装包信息 。
- 安装 MySQL:添加完 MySQL 官方源后,使用 yum 命令安装 MySQL 服务 :
sudo yum install mysql-server
安装过程中,yum 会自动下载并安装 MySQL 及其相关依赖包 。安装完成后,MySQL 服务并不会自动启动,需要手动启动 。使用 systemctl 命令启动 MySQL 服务 :
sudo systemctl start mysqld
启动成功后,可以使用systemctl status mysqld命令查看 MySQL 的运行状态,确认服务是否正常启动 。为了使 MySQL 在系统启动时自动启动,执行以下命令 :
sudo systemctl enable mysqld
- 设置 root 密码:MySQL 安装完成后,会生成一个临时的 root 密码,需要使用这个临时密码登录 MySQL 并设置新的 root 密码 。首先,查看临时密码 :
sudo grep 'temporary password' /var/log/mysqld.log
命令执行后,会在日志文件中找到类似以下的内容,其中xxxxxxx就是临时密码 :
2024-01-01T00:00:00.000000Z 1 [Note] A temporary password is generated for root@localhost: xxxxxxx
使用临时密码登录 MySQL :
mysql -uroot -p
输入临时密码后,即可进入 MySQL 命令行界面 。登录后,首先修改密码校验强度为低风险 :
set global validate_password_policy=LOW;
然后,修改密码长度为 5 位(可根据需求调整) :
set global validate_password_length=5;
最后,修改 root 密码 :
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
将new_password替换为你想要设置的新密码 。修改完成后,使用exit命令退出 MySQL 命令行界面 。
- 配置远程访问:默认情况下,MySQL 只允许本地访问。如果需要从远程客户端连接到 MySQL 服务器,需要进行一些配置 。首先,使用 root 用户登录 MySQL :
mysql -uroot -p
输入密码后进入 MySQL 命令行界面 。然后,切换到mysql数据库 :
use mysql;
查看user表中的用户信息,确认 root 用户的Host字段是否为localhost :
select User,Host from user;
如果Host字段为localhost,表示 root 用户只能从本地登录 。要允许 root 用户从任何地址远程登录,执行以下命令 :
select User,Host from user;
修改完成后,刷新权限使更改生效 :
flush privileges;
最后,退出 MySQL 命令行界面 。此外,为了确保远程连接的安全性,还需要在阿里云服务器的安全组中开放 MySQL 的端口(默认为 3306),允许远程客户端访问 。在阿里云控制台的安全组配置中,添加一条入方向规则,允许来自指定 IP 地址或 IP 地址段的 TCP 协议访问 3306 端口 。
三、部署应用程序(以 Java Web 应用为例)
Java Web 应用程序是基于 Java 平台开发的 Web 应用,具有跨平台、安全可靠等优点。以下是在阿里云 CentOS 系统上安装 JDK、Tomcat,并部署 Java Web 应用的步骤 。
- 安装 JDK:JDK(Java Development Kit)是 Java 开发和运行的基础环境 。首先,从 Oracle 官方网站或 OpenJDK 官方网站下载适合 CentOS 系统的 JDK 安装包 。以 OpenJDK 11 为例,下载链接为:JDK 11 Releases 。下载完成后,将安装包上传到服务器的某个目录,例如/usr/local/src 。然后,使用 tar 命令解压安装包 :
sudo tar -zxvf jdk-11.0.11_linux-x64_bin.tar.gz -C /usr/local/
解压完成后,在/usr/local/目录下会生成一个jdk-11.0.11目录,这就是 JDK 的安装目录 。接下来,配置环境变量,使系统能够找到 JDK 的命令 。使用 vim 编辑器打开/etc/profile文件 :
sudo vim /etc/profile
在文件末尾添加以下内容 :
export JAVA_HOME=/usr/local/jdk-11.0.11
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
添加完成后,保存并退出文件 。然后,使环境变量生效 :
source /etc/profile
最后,使用java -version命令查看 JDK 的版本信息,确认是否安装成功 。如果显示出 JDK 的版本号,则表示安装成功 。
- 安装 Tomcat:Tomcat 是一个开源的 Java Servlet 容器,用于运行 Java Web 应用程序 。从 Apache Tomcat 官方网站下载 Tomcat 安装包,下载链接为:Apache Tomcat® - Apache Tomcat 9 Software Downloads 。以 Tomcat 9 为例,下载apache-tomcat-9.0.62.tar.gz安装包 。下载完成后,将安装包上传到服务器的某个目录,例如/usr/local/src 。然后,使用 tar 命令解压安装包 :
sudo tar -zxvf apache-tomcat-9.0.62.tar.gz -C /usr/local/
解压完成后,在/usr/local/目录下会生成一个apache-tomcat-9.0.62目录,这就是 Tomcat 的安装目录 。为了方便管理,可以将其重命名为tomcat :
sudo mv /usr/local/apache-tomcat-9.0.62 /usr/local/tomcat
接下来,配置 Tomcat 的环境变量 。使用 vim 编辑器打开/etc/profile文件 :
sudo vim /etc/profile
在文件末尾添加以下内容 :
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
添加完成后,保存并退出文件 。然后,使环境变量生效 :
source /etc/profile
最后,进入 Tomcat 的bin目录,使用startup.sh脚本启动 Tomcat :
cd /usr/local/tomcat/bin
./startup.sh
启动成功后,可以使用浏览器访问http://你的服务器IP:8080,如果能够看到 Tomcat 的欢迎页面,则表示 Tomcat 安装成功 。
- 部署 Java Web 应用:将 Java Web 应用打包成 WAR 文件后,就可以将其部署到 Tomcat 中 。首先,将 WAR 文件上传到 Tomcat 的webapps目录下 。例如,将myapp.war文件上传到/usr/local/tomcat/webapps目录 。上传完成后,Tomcat 会自动解压 WAR 文件,并将应用部署到服务器上 。可以使用浏览器访问http://你的服务器IP:8080/myapp,如果能够正常访问应用的页面,则表示部署成功 。如果在部署过程中遇到问题,可以查看 Tomcat 的日志文件,位于/usr/local/tomcat/logs目录下,通过分析日志文件来查找问题原因 。此外,如果需要修改 Tomcat 的端口号、上下文路径等配置,可以编辑 Tomcat 的conf/server.xml文件,在其中进行相应的修改 。
安全加固:守护云端系统的安全防线
在云计算时代,阿里云 CentOS 系统为我们的业务提供了强大的运行基础,但安全问题始终是重中之重。安全加固就像是为我们的云端系统构筑一道坚不可摧的防线,能够有效抵御各种潜在的安全威胁,确保系统和数据的安全。接下来,让我们详细了解阿里云 CentOS 系统安全加固的关键措施 。
一、设置强密码策略
密码是保护服务器安全的第一道防线,一个强密码能够大大降低服务器被破解的风险 。对于 root 用户,其密码的强度至关重要 。设置 root 密码时,应遵循以下原则:
- 复杂性:密码应包含大小写字母、数字和特殊字符,例如 “Abc@123456”。避免使用简单的单词、生日、电话号码等容易被猜到的信息作为密码 。
- 长度:密码长度不少于 8 位,越长的密码安全性越高 。例如,一个 12 位以上的包含多种字符类型的密码,能够显著增加破解难度 。
- 定期更换:即使是强密码,长期使用也可能存在风险,因此建议定期更换密码,例如每 3 - 6 个月更换一次 。可以使用passwd命令来更换 root 密码 。在终端中输入以下命令:
sudo passwd root
然后按照提示输入新的密码即可 。
二、创建普通用户并授权
为了进一步提高系统的安全性,避免直接使用 root 用户进行日常操作,建议创建普通用户,并为其赋予适当的权限 。创建普通用户并授权的步骤如下 :
- 创建普通用户:使用adduser命令创建一个新的普通用户 。例如,创建一个名为 “testuser” 的用户 。
sudo adduser testuser
- 设置用户密码:使用passwd命令为新创建的用户设置密码 。
sudo passwd testuser
按照提示输入新密码,并确认密码 。
- 赋予 sudo 权限:默认情况下,新创建的普通用户没有 sudo 权限,无法执行需要 root 权限的命令 。为了让普通用户能够执行一些必要的管理操作,可以将其添加到 sudo 组中 。编辑sudoers文件 :
sudo visudo
在打开的sudoers文件中,找到以下行 :
root ALL=(ALL) ALL
在这一行下面添加新用户的权限配置 。例如,为 “testuser” 用户赋予 sudo 权限,使其可以执行任何命令 :
testuser ALL=(ALL) ALL
如果希望该用户使用 sudo 命令时无需输入密码,可以将配置修改为 :
testuser ALL=(ALL) NOPASSWD: ALL
修改完成后,保存并退出sudoers文件 。这样,“testuser” 用户就具有了 sudo 权限,可以使用sudo命令执行需要 root 权限的操作 。例如,使用 “testuser” 用户安装软件包时,可以在命令前加上sudo :
sudo yum install wget
三、定期备份数据
数据是企业和个人的重要资产,数据丢失可能会带来严重的后果 。定期备份数据是保障数据安全的重要措施,能够在数据丢失、损坏或系统故障时快速恢复数据 。在阿里云 CentOS 系统中,可以使用多种工具进行数据备份 。
- rsync:rsync 是一个强大的文件同步工具,它可以在本地目录、外部存储设备或通过网络在不同服务器之间进行文件和目录的同步和备份 。使用 rsync 进行备份的基本语法如下 :
rsync -av /path/to/source /path/to/destination
其中,-a表示归档模式,保留源文件的所有属性,包括权限、所有者、时间戳等;-v表示详细模式,显示备份过程中的详细信息 。/path/to/source是要备份的源目录或文件路径,/path/to/destination是备份目标目录或文件路径 。例如,将/home/user/data目录备份到/backup/data_backup目录 :
sudo rsync -av /home/user/data /backup/data_backup
如果需要通过网络备份到远程服务器,可以使用以下命令 :
rsync -av -e ssh /path/to/source user@remote_host:/path/to/destination
其中,-e ssh表示使用 SSH 协议进行数据传输,user是远程服务器的用户名,remote_host是远程服务器的 IP 地址或域名 。
- mysqldump:如果服务器上运行着 MySQL 数据库,使用 mysqldump 工具可以备份 MySQL 数据库 。mysqldump 是 MySQL 自带的一个命令行工具,用于导出数据库结构和数据 。备份单个数据库的命令如下 :
mysqldump -u username -p database_name > backup.sql
其中,-u后面跟的是 MySQL 用户名,-p表示需要输入密码,database_name是要备份的数据库名称,backup.sql是备份文件的名称 。执行命令后,会提示输入 MySQL 用户的密码,输入正确密码后,mysqldump 会将指定数据库的结构和数据导出到backup.sql文件中 。如果需要备份多个数据库,可以使用--databases选项 :
mysqldump -u username -p --databases database1 database2 > backup.sql
如果要备份所有数据库,可以使用--all-databases选项 :
mysqldump -u username -p --all-databases > backup.sql
为了确保备份数据的安全性,建议将备份文件存储在安全的位置,例如外部存储设备或其他服务器,并定期检查备份文件的完整性和可恢复性 。同时,可以结合 cron 任务实现定期自动备份,例如每天凌晨 2 点自动备份 MySQL 数据库 。首先,创建一个备份脚本backup_mysql.sh :
#!/bin/bash
mysqldump -u username -p password --all-databases > /backup/mysql_backup_$(date +\%Y\%m\%d).sql
将username和password替换为实际的 MySQL 用户名和密码 。然后,为脚本赋予执行权限 :
chmod +x backup_mysql.sh
最后,使用crontab -e命令编辑 cron 任务,添加以下内容 :
0 2 * * * /path/to/backup_mysql.sh
这样,每天凌晨 2 点系统会自动执行备份脚本,将 MySQL 数据库备份到/backup目录下,备份文件名为mysql_backup_YYYYMMDD.sql,其中YYYYMMDD是当天的日期 。
总结与展望:回顾成果,展望未来云端之路
通过前面一系列的步骤,我们成功地在阿里云上完成了 CentOS 系统的搭建,并对其进行了基础环境配置、高级应用部署以及安全加固 。从前期准备、购买阿里云服务器,到连接服务器、安装 CentOS 系统,再到后续的系统配置和应用部署,每一个环节都紧密相连,共同构建起一个稳定、高效的云端服务器环境 。
在这个过程中,我们详细介绍了各个步骤的具体操作方法和注意事项,包括如何选择合适的服务器配置、如何使用 Xshell 和 Putty 连接服务器、如何进行系统安装和初始化、如何配置防火墙和 SELinux、如何安装常用工具和部署高级应用,以及如何进行安全加固等 。这些知识和技能不仅对于搭建阿里云 CentOS 系统至关重要,也是深入学习 Linux 系统管理和云计算技术的基础 。
通过搭建阿里云 CentOS 系统,你已经迈出了云计算和 Linux 系统应用的重要一步 。这不仅为你提供了一个强大的服务器环境,用于开展各种项目和应用,还为你打开了一扇通往更广阔技术领域的大门 。Linux 系统作为开源操作系统的代表,拥有丰富的资源和活跃的社区支持,学习和掌握 Linux 系统管理知识将极大地提升你的技术能力和职业竞争力 。同时,云计算技术的快速发展,为企业和开发者带来了前所未有的便利和机遇,深入了解和运用云计算技术,将使你在数字化时代中占据优势 。
希望你能够在这个基础上,继续深入学习 Linux 系统管理知识,不断探索和实践更多的应用场景 。例如,你可以进一步优化服务器性能,学习如何进行负载均衡、集群部署等高级技术;也可以尝试在服务器上部署更多类型的应用程序,如大数据处理框架、人工智能模型等,拓展服务器的功能和应用范围 。同时,要始终关注系统安全,定期更新系统和软件,加强安全防护措施,确保服务器和数据的安全 。
在未来的技术发展道路上,阿里云 CentOS 系统将作为你的得力助手,陪伴你在云计算和 Linux 技术的世界中不断前行,实现更多的创新和突破 。期待你在这个过程中取得更多的成果,分享你的经验和心得 。