服务器配置与管理(Linux)

吕刚 刘晓忠 刘宏斌 步扬坚 陈明华 傅强

目录

  • 1 课程概要
    • 1.1 课程简介
    • 1.2 课程标准
  • 2 学习情境一 Linux操作系统基础
    • 2.1 ​项目1-1 认识Linux操作系统
    • 2.2 项目2 安装Linux操作系统
      • 2.2.1 使用虚拟机安装Linux
      • 2.2.2 项目2实训:安装Linux操作系统
    • 2.3 项目3 配置Linux操作系统
      • 2.3.1 重置root管理员密码N
      • 2.3.2 使用RPM
      • 2.3.3 使用yum软件仓库
      • 2.3.4 配置本地安装源N
      • 2.3.5 systemd初始化进程
      • 2.3.6 启动Shell
      • 2.3.7 配置常规网络
    • 2.4 项目实训(安装Linux)
    • 2.5 单元练习题
  • 3 学习情境二 操作系统的安装
  • 4 学习情境三 Linux常用命令
    • 4.1 项目4 Linux常用命令
      • 4.1.1 Linux命令基础
      • 4.1.2 熟练使用文件目录类命令
      • 4.1.3 熟练使用系统信息类命令
      • 4.1.4 熟练使用进程管理类命令
      • 4.1.5 熟练使用其他常用命令
      • 4.1.6 项目实训(Linux基本命令)
      • 4.1.7 单元练习题
  • 5 学习情境四 系统管理与配置
    • 5.1 项目4管理Linux服务器的用户和组
    • 5.2 项目5 配置与管理文件系统
    • 5.3 项目6 配置与管理硬盘
    • 5.4 项目7 配置网络和防火墙(NAT)
      • 5.4.1 配置主机名
      • 5.4.2 配置网络地址
      • 5.4.3 配置防火墙
      • 5.4.4 配置NAT服务
    • 5.5 项目8 shell编程与调试
  • 6 学习情境五 网络服务器配置与管理
    • 6.1 项目9 配置与管理samba服务器
    • 6.2 项目11 配置与管理NFS服务器
    • 6.3 项目12 配置与管理DHCP服务器
      • 6.3.1 了解DHCP服务
      • 6.3.2 安装配置DHCP服务
      • 6.3.3 项目实训(DHCP服务配置)
      • 6.3.4 配置DHCP服务器应用案例
      • 6.3.5 单元练习题
    • 6.4 项目13 配置与管理DNS服务器
    • 6.5 项目14 配置与管理Web服务器
    • 6.6 项目15 配置与管理FTP服务器
    • 6.7 项目16 配置与管理邮件服务器
    • 6.8 新建课程目录
  • 7 学习情境四 系统安全与故障排除(实训)
    • 7.1 进程管理与系统监视
    • 7.2 配置与管理firewall
    • 7.3 配置与管理VPN服务器
    • 7.4 新建课程目录
    • 7.5 新建课程目录
    • 7.6 新建课程目录
  • 8 学习情境五  综合实训(实训)
    • 8.1 安装与配置LNMP
  • 9 学习情境六 拓展与提升(选修)
    • 9.1 配置与管理chrony服务器
    • 9.2 管理动态磁盘
    • 9.3 管理理lvm逻辑卷
    • 9.4 Shell
    • 9.5 Vim编辑器
    • 9.6 单元练习
    • 9.7 项目实训一(Shell的编程)
      • 9.7.1 项目实训二(Vim编辑器的使用)
  • 10 用户和组管理
    • 10.1 理解用户账户和组群
    • 10.2 理解用户账户文件和组群文件
    • 10.3 管理用户账户
    • 10.4 管理组群
    • 10.5 使用su命令和sudo命令
    • 10.6 使用用户管理器管理用户和组群
    • 10.7 使用常用的账户管理命令
    • 10.8 项目实训(账号管理实例)
    • 10.9 单元练习题
  • 11 文件系统和磁盘管理
    • 11.1 了解文件系统
    • 11.2 管理磁盘
    • 11.3 管理磁盘配额
    • 11.4 项目实训(文件系统)
    • 11.5 单元练习题
  • 12 DNS服务器配置
    • 12.1 认识DNS服务
    • 12.2 安装DNS服务
    • 12.3 掌握BIND配置文件
    • 12.4 配置主DNS服务器实例
    • 12.5 配置DNS客户端
    • 12.6 使用工具测试DNS
    • 12.7 项目实训(DNS服务器配置)
    • 12.8 单元练习题
  • 13 网络文件系统服务
    • 13.1 NFS基本原理
    • 13.2 安装、启动和停止NFS服务器
    • 13.3 配置NFS服务
    • 13.4 了解NFS服务的文件存权限
    • 13.5 在客户端挂载NFS文件系统
    • 13.6 排除NFS故障
    • 13.7 项目实训(NFS服务器配置)
    • 13.8 单元练习题
  • 14 Samba服务器配置
    • 14.1 Samba简介
    • 14.2 配置Samba服务
    • 14.3 user服务器实例解析
    • 14.4 配置Samba客户端
    • 14.5 项目实训(Samba服务的配置)
    • 14.6 单元练习题
  • 15 Apache服务器配置
    • 15.1 认识Web服务
    • 15.2 安装、启动停止Apache服务
    • 15.3 认识Apache服务器配置文件
    • 15.4 常规设置Apache服务器实例
    • 15.5 其他常规设置
    • 15.6 配置虚拟主机
    • 15.7 项目实训(Apache服务器配置)
    • 15.8 单元练习题
  • 16 FTP服务器配置
    • 16.1 认识FTP服务
    • 16.2 项目设计与准备
    • 16.3 项目实施
    • 16.4 项目实训(FTP服务器配置)
    • 16.5 单元练习题
  • 17 电子邮件服务器配置
    • 17.1 了解电子邮件服务工作原理
    • 17.2 配置Postfix常规服务器
    • 17.3 配置Dovecot服务程序
    • 17.4 配置一个完整的收发邮件服务器并测试
    • 17.5 使用Cyrus-SASL实现SMTP认证
    • 17.6 项目实训(电子邮件服务配置)
    • 17.7 单元练习题
  • 18 配置防火墙与代理服务器
    • 18.1 防火墙概述
    • 18.2 配置iptables防火墙
    • 18.3 使用firewalld服务
    • 18.4 配置NAT服务器
    • 18.5 配置代理服务器
    • 18.6 squid和NAT企业实战与应用
    • 18.7 项目实训(Linux防火墙配置)
    • 18.8 单元练习题
  • 19 新建课程目录
​项目1-1 认识Linux操作系统
  • 1 知识储备
  • 2 电子教案
  • 3 视频学习1
  • 4 视频学习2

项目1 认识Linux 操作系统


一、Linux操作系统的起源与早期探索 

1.1 Unix的奠基 

Linux操作系统的故事要从Unix说起。20世纪60年代末,贝尔实验室的肯·汤普森(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)开发了Unix操作系统。Unix以其多用户、多任务的特性,以及简洁高效的设计理念,迅速在学术界和科研机构中传播开来。它采用了分层的文件系统、强大的命令行工具和丰富的系统调用接口,为后来操作系统的发展奠定了坚实的基础。

1.2 开源运动的兴起 

随着Unix的广泛使用,不同的机构和公司开始对其进行改进和扩展,形成了各种Unix变种,如BSD、System V等。然而,这些变种大多是闭源的,限制了技术的交流和共享。在这样的背景下,开源运动应运而生。理查德·斯托曼(Richard Stallman)于1984年发起了GNU计划,旨在开发一个完全自由的与Unix类似(Unix-like)但功能更大的操作系统。GNU项目开发了一系列的工具和软件,如GCC编译器、GDB调试器等,为后来Linux的诞生提供了重要的软件基础。 

1.3 Linux内核的诞生

1991年,芬兰赫尔辛基大学的学生林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)在接触了为教学而设计的Minix系统后,开发了Linux内核的第一个版本。他最初的目的是为了在自己的个人计算机上运行一个类Unix的操作系统。林纳斯将Linux内核开源发布,并邀请全球的开发者共同参与改进。由于其开源的特性,Linux内核吸引了大量开发者的关注和参与,迅速发展壮大。1994年3月,内核1.0版本的推出标志着Linux操作系统的第一个正式版本诞生。

1.4 Linux的体系结构

Linux一般由3个部分组成 :内核(Kernel)、命令解释器(shell)、应用程序(Applications)。

1.4.1  内核(Kernel) 核心功能:

操作系统的核心,直接管理硬件资源(如 CPU、内存、磁盘、网络),提供进程调度、内存分配、文件系统管理和设备驱动等基础功能,是用户空间与硬件交互的桥梁。

1.4.2  Shell(命令解释器) 核心功能:

用户与系统交互的界面,解析用户输入的命令(如 ls、cd)并调用相应程序执行,支持脚本自动化、管道(|)、重定向(>)等功能,常见类型有 Bash、Zsh。

1.4.3 应用程序(Applications) 核心功能:

用户直接使用的软件,基于内核和 Shell 提供的功能实现特定任务,包括系统工具(如 top、vim)、图形界面(如 GNOME)、网络服务(如Nginx)等。


二、Linux操作系统的发展与广泛应用 

2.1 Linux操作系统的发行版本 

在Linux发展的过程中,众多基于Linux的发行版如Red Hat、Debian、Ubuntu等相继问世,推动了Linux在服务器、桌面及嵌入式系统中的广泛应用。进入21世纪,Linux逐渐成为企业级服务器的首选,尤其在云计算、大数据和虚拟化领域表现出色。Android系统的推出更是将Linux的应用扩展到移动设备和嵌入式系统。 

2.2国产Linux发展历程

国产Linux操作系统的发展始于上世纪90年代末,国内开始关注操作系统的自主研发,紧跟全球Linux开源趋势,涌现出红旗Linux、Xteam Linux、蓝点Linux、幸福Linux等早期版本。这些国产Linux系统均基于开源的Linux内核,遵循GPL协议,用户可自由获取、修改和分发源代码。尽管国产Linux操作系统起步较早,但多数版本未能形成显著的市场影响力,经历了快速兴衰的周期。这主要归因于软硬件生态基础薄弱、市场化程度不足、创新乏力以及行业格局分散等问题。 

近年来,随着信息技术的高速发展及国家对信息安全的重视,信息技术的自主可控被提升到新的战略高度。虽然基于Linux内核做国产发行版不算完全的自主知识产权,但这也是现阶段权衡诸多现实因素的折中之选。目前我们也看到以华为公司(openEuler)为代表的中国团队已经在Linux内核代码贡献中名列前茅。国产Linux操作系统逐渐崭露头角。中标麒麟、银河麒麟、统信等厂商经过市场洗礼,成功站稳脚跟,并具备了一定的影响力。这些国产Linux操作系统不仅注重安全性和稳定性,支持国密算法,还提供了丰富的图形界面和应用程序,满足多样化用户需求。还有不少厂商在国产芯片适配、安全加固、可信计算等关键领域聚沙成塔。 

总体而言,Linux操作系统凭借开源、可定制、稳定性和安全性等优势,在服务器、云计算、物联网和人工智能等领域持续发挥重要作用。国产Linux操作系统也在不断进步,为中国信息化建设做出了显著贡献,必将迎来国产化信息技术破茧成蝶的时刻。 

2.3 Linux操作系统的应用

  1. 商业化与企业级应用 

    随着Linux内核的不断完善,许多公司开始基于Linux内核开发商业化的操作系统发行版,如Red Hat、SUSE、麒麟、统信等。这些发行版在稳定性、安全性和可管理性方面进行了优化,满足了企业级用户的需求。Linux服务器逐渐在企业数据中心中得到广泛应用,用于运行各种关键业务系统,如数据库服务器、Web服务器、邮件服务器等。 

  2. 云计算与虚拟化时代 

    进入21世纪,云计算和虚拟化技术的兴起为Linux服务器带来了新的发展机遇。Linux服务器凭借其开源、灵活、高效的特点,成为了云计算和虚拟化平台的首选操作系统。例如,OpenStack作为一个开源的云计算平台,广泛使用Linux服务器作为计算节点。同时,虚拟化技术如KVM、Xen等也在Linux服务器上得到了广泛应用,实现了资源的高效利用和隔离。

  3. 大数据与人工智能领域

    在大数据和人工智能领域,Linux服务器同样发挥着重要作用。大数据处理框架如Hadoop、Spark等通常运行在Linux服务器集群上,利用Linux服务器的高性能和分布式计算能力,实现对海量数据的存储、处理和分析。人工智能训练和推理任务也往往在基于Linux的服务器上进行,借助GPU加速和深度学习框架,如TensorFlow、PyTorch等,推动了人工智能技术的快速发展。

  4. 容器化与微服务架构

    近年来,容器化技术如Docker和容器编排工具如Kubernetes的出现,进一步改变了Linux服务器的应用模式。容器化技术将应用及其依赖打包成独立的容器,实现了应用的快速部署和迁移。Kubernetes则提供了容器集群的自动化管理和调度功能。Linux服务器作为容器和微服务的运行环境,支持了现代应用的快速迭代和弹性伸缩。



如今,Linux服务器已经成为了信息技术领域的基石之一,广泛应用于各个行业和领域。它的开源、自由、高效的特性,以及不断创新和发展的能力,使其在未来的科技发展中仍将扮演重要的角色。