资源名称:循序渐进Linux 第2版

内容简介:

循序渐进Linux(第2版) 基础知识 服务器搭建 系统管理 性能调优 虚拟化与集群应用》从基础知识入手,系统讲解了Linux系统结构、shell、主流服务器搭建及故障排除、用户权限管理、磁盘存储管理、文件系统管理、内存管理和系统进程管理等关键技术,深入研究了系统性能优化思路、系统性能评估与优化、集群技术、负载均衡等Linux热点主题。

《循序渐进Linux(第2版) 基础知识 服务器搭建 系统管理 性能调优 虚拟化与集群应用》强调学习方法以及技术能力的培养,在每个知识点后都给出了大量操作案例,包括了详细的操作步骤,具有很强的可操作性,并对案例进行分析,提供了解决问题的思路和方法,做到了授人以渔。

《循序渐进Linux(第2版) 基础知识 服务器搭建 系统管理 性能调优 虚拟化与集群应用》适合希望系统、全面学习Linux技术的初学者作为教材,也适合Linux系统管理员、数据库管理人员、网络安全管理人员、系统集成人员和系统架构师参考。

作者简介:

高俊峰,网名南非蚂蚁,Linux专家,知名IT作家。毕业于西安电子科技大学通信工程专业。曾就职于新浪网、阿里云(原万网),任职系统架构师。具有多年的自动化运维和管理经验,擅长Linux、集群应用、Mysql、Oracle等方面的系统管理、性能调优,规划设计,实战经验丰富。曾出版《循序渐进Linux》、《高性能Linux服务器构建实战》等畅销Linux书籍。

资源目录:

第一篇 基础知识篇

第1章 学习Linux的经验与技巧 3

1.1 Linux在各领域发展的现状与趋势 4

1.1.1 Linux与开源软件 4

1.1.2 Linux在服务器领域的发展 4

1.1.3 Linux在桌面领域的发展 5

1.1.4 Linux在移动嵌入式领域的

发展 5

1.1.5 Linux在云计算/大数据领域的

发展 5

1.2 选择适合自己的Linux发行版 5

1.2.1 常见的Linux发行版 6

1.2.2 初学者入门首选—

CentOS系列 8

1.2.3 桌面平台首选—

Ubuntu Linux 9

1.2.4 企业级应用首选—

RHEL/CentOS系列 9

1.3 养成良好的Linux操作习惯 9

1.3.1 一定要习惯命令行方式 10

1.3.2 理论结合实践 10

1.3.3 学会使用Linux联机帮助 10

1.3.4 学会独立思考问题,独立

解决问题 11

1.3.5 学习专业英语 11

1.3.6 Linux学习路线图 11

1.4 用虚拟机技术学习Linux 13

1.4.1 虚拟机技术 13

1.4.2 使用虚拟机技术的好处 13

1.4.3 虚拟机的运行环境和硬件需求 13

1.4.4 虚拟机的安装与使用 14

1.5 Linux学习资源 20

1.5.1 网络资源、搜索引擎、论坛 20

1.5.2 有本书在身边 20

第2章 Linux系统的安装与基础配置 21

2.1 安装需求 22

2.2 Linux的几种安装方式 22

2.2.1 硬盘安装方式 22

2.2.2 U盘安装方式 23

2.2.3 网络安装方式 23

2.2.4 光驱安装方式 23

2.3 光驱安装过程 24

2.3.1 分区命名方案 24

2.3.2 开始安装 25

2.4 U盘安装过程 44

第3章 Linux系统基本结构 47

3.1 Linux控制台的使用 48

3.2 系统与硬件 48

3.2.1 Linux硬件资源管理 48

3.2.2 Linux外在设备的使用 53

3.3 文件系统结构介绍 55

3.3.1 目录结构 55

3.3.2 系统核心组成 60

3.4 运行机制介绍 61

3.4.1 Linux初始化init系统 62

3.4.2 runlevel到target的改变 62

3.4.3 系统关机过程 64

3.5 系统服务管理工具systemd 66

3.5.1 启动、停止、重启服务 66

3.5.2 查看、禁止、启用服务 67

3.5.3 systemd命令和sysvinit命令

对比 68

3.6 Linux与SecureCRT 69

3.6.1 SecureCRT概述 69

3.6.2 SecureCRT的安装与使用 69

3.6.3 与SecureCRT相关的Linux

命令 70

第4章 Linux常用命令及使用技巧 72

4.1 Linux下的shell简介 73

4.1.1 什么是shell 73

4.1.2 shell命令的语法分析 74

4.2 系统管理与维护 80

4.2.1 ls命令 80

4.2.2 pwd命令 82

4.2.3 cd命令 82

4.2.4 date命令 83

4.2.5 passwd命令 84

4.2.6 su命令 85

4.2.7 clear命令 86

4.2.8 man命令 86

4.2.9 who命令 86

4.2.10 w命令 87

4.2.11 uname命令 88

4.2.12 uptime命令 89

4.2.13 last命令 90

4.2.14 dmesg命令 90

4.2.15 free命令 91

4.2.16 ps命令 91

4.2.17 top命令 92

4.3 文件管理与编辑 95

4.3.1 mkdir命令 95

4.3.2 more命令 96

4.3.3 cat命令 97

4.3.4 diff命令 98

4.3.5 grep命令 99

4.3.6 rm命令 100

4.3.7 touch命令 101

4.3.8 ln命令 102

4.3.9 file命令 104

4.3.10 cp命令 105

4.3.11 find命令 105

4.3.12 split命令 108

4.3.13 mv命令 109

4.4 压缩与解压 109

4.4.1 zip/unzip命令 109

4.4.2 gzip/gunzip命令 111

4.4.3 bzip2/bunzip2命令 112

4.4.4 tar命令 113

4.4.5 dd命令 116

4.4.6 cpio命令 117

4.5 磁盘管理与维护 118

4.5.1 df命令 118

4.5.2 du命令 119

4.5.3 fsck命令 120

4.5.4 sync命令 122

4.5.5 eject命令 122

4.5.6 mount/umount命令 123

4.6 网络设置与维护 126

4.6.1 ifconfig命令 126

4.6.2 scp命令 128

4.6.3 netstat命令 129

4.6.4 traceroute命令 131

4.6.5 telnet命令 133

4.6.6 wget命令 134

4.7 文本编辑工具vi 135

第5章 Linux下软件的安装与管理 139

5.1 源码安装方式 140

5.1.1 下载、解压源码 140

5.1.2 分析安装平台环境 140

5.1.3 编译、安装软件 141

5.1.4 通过源码安装Apache Http

server 142

5.2 RPM包方式安装 143

5.2.1 RPM介绍 143

5.2.2 RPM包的种类和组成 144

5.2.3 RPM工具的使用 145

5.3 yum安装方式 156

5.3.1 yum的安装与配置 157

5.3.2 yum的特点与基本用法 158

5.3.3 几个不错的yum源 161

5.4 二进制软件安装方式 161

5.4.1 安装“*.tar.gz、*.bz2”

二进制软件包 162

5.4.2 提供安装程序的软件包 162

第6章 Linux服务器网络配置 165

6.1 网卡驱动的安装 166

6.1.1 网卡驱动安装的一般思路 166

6.1.2 编译安装网卡 172

6.2 配置Linux网络 177

6.2.1 不同Linux发行版的网络配置文件 177

6.2.2 网络配置文件详解 178

6.3 Linux网络应用 183

6.3.1 Linux下的IP别名功能 183

6.3.2 开启Linux代理转发功能 185

6.3.3 路由的概念与配置 185

6.3.4 Linux路由器的架设 192

第7章 架设Linux服务器 196

7.1 使用OpenSSH远程管理Linux

服务器 197

7.2 Web服务器的搭建 198

7.2.1 Apache与Tomcat整合的

必要性 199

7.2.2 Apache和Tomcat连接器 200

7.2.3 Apache与Tomcat以及

JK模块的安装 200

7.2.4 Apache与Tomcat整合配置 202

7.3 LAMP服务器的搭建 217

7.3.1 LAMP与WordPress概述 217

7.3.2 LAMP服务环境的搭建 218

7.3.3 测试LAMP环境安装的

正确性 226

7.4 DNS服务器的搭建 227

7.4.1 DNS服务器概述 227

7.4.2 DNS服务器的搭建 227

7.5 Samba服务器的搭建 235

7.5.1 Samba的概念和功能 235

7.5.2 Samba的安装与配置 235

第8章 构建高性能的MySQL数据库

系统 246

8.1 MySQL与MariaDB 247

8.2 常见的高可用MySQL解决

方案 247

8.2.1 主从复制解决方案 248

8.2.2 MMM高可用解决方案 248

8.2.3 Heartbeat/SAN高可用解决

方案 248

8.2.4 Heartbeat/DRBD高可用解决

方案 249

8.2.5 MySQL Cluster高可用解决

方案 249

8.3 通过Keepalived搭建MySQL

双主模式的高可用集群系统 249

8.3.1 MySQL复制介绍 249

8.3.2 MySQL复制的实现原理 250

8.3.3 MySQL复制的常用架构 251

8.3.4 MySQL主主互备模式

架构图 252

8.3.5 MySQL主主互备模式配置 253

8.3.6 配置Keepalived实现MySQL

双主高可用 257

8.3.7 测试MySQL主从同步功能 260

8.3.8 测试Keepalived实现MySQL

故障切换 261

8.4 通过MMM构建MySQL高可用

集群系统 263

8.4.1 MMM高可用MySQL方案

简介 263

8.4.2 MMM典型应用方案 264

8.4.3 MMM高可用MySQL方案

架构图 266

8.4.4 MMM的安装与配置 267

8.4.5 MMM的管理 271

8.4.6 测试MMM实现MySQL

高可用功能 274

8.5 MySQL读、写分离解决方案 277

8.5.1 常见的MySQL读、写分离

方案 277

8.5.2 通过Amoeba实现MySQL读、

写分离 278

第9章 Linux服务器安全策略 287

9.1 网络安全概述 288

9.1.1 常见攻击类型 288

9.1.2 防范攻击策略 289

9.2 操作系统常用安全策略 290

9.2.1 软件的升级 290

9.2.2 端口与服务 291

9.2.3 密码登录安全 295

9.2.4 其他安全设置 298

9.3 Linux软件防火墙iptables 301

9.3.1 iptables的使用环境 302

9.3.2 iptables的使用规范与语法 304

9.3.3 防火墙规则的查看与清除 308

9.3.4 制定防火墙规则 309

9.4 Linux系统的备份 315

9.4.1 为何要备份Linux系统 315

9.4.2 Linux系统需要备份的数据 316

9.4.3 备份的介质与方式 316

9.4.4 制定备份策略 318

9.4.5 备份工具的选择 319

第10章 Linux故障排查思路与案例 325

10.1 Linux下常见系统故障的处理 326

10.1.1 处理Linux系统故障的

思路 326

10.1.2 忘记Linux root密码 326

10.1.3 Linux系统无法启动的

解决办法 329

10.2 Linux下常见网络故障处理 337

10.3 “Read-only file system”错误与

解决案例 342

10.4 通过su命令切换用户带来的

困惑 344

10.5 因NAS存储故障引起的

Linux系统恢复案例 347

10.5.1 故障现象描述 347

10.5.2 问题判断思路 347

10.5.3 问题处理过程 348

10.5.4 解决问题 350

第11章 Linux用户权限管理 353

11.1 用户与用户组管理概述 354

11.1.1 用户与组的概念 354

11.1.2 用户配置文件概述 355

11.2 用户管理工具介绍 360

11.2.1 groupadd/newgrp/groupdel

命令 360

11.2.2 useradd/usermod/userdel命令 362

11.3 文件与权限的设定 366

11.3.1 查看文件的权限属性 366

11.3.2 利用chown改变属主和

属组 368

11.3.3 利用chmod改变访问权限 369

第12章 Linux磁盘存储管理 372

12.1 磁盘管理的基本概念 373

12.1.1 磁盘设备在Linux下的

表示方法 373

12.1.2 设备的挂载与使用 374

12.1.3 磁盘分区的划分标准 375

12.2 利用fdisk工具划分磁盘分区 377

12.2.1 fdisk参数含义介绍 377

12.2.2 fdisk实例讲解 378

12.3 利用parted工具规划磁盘分区 385

12.3.1 parted简介 385

12.3.2 parted使用方法 385

12.3.3 parted应用实例 386

12.4 LVM 389

12.4.1 LVM的基本概念 389

12.4.2 LVM中的术语 390

12.4.3 安装LVM工具 391

12.4.4 LVM的创建与管理 391

第13章 Linux文件系统管理 401

13.1 文件系统概述 402

13.1.1 什么是文件系统 402

13.1.2 为什么要使用文件系统 402

13.1.3 文件系统的使用流程 403

13.2 Linux下常用文件系统介绍 404

13.2.1 ext3和ext4文件系统 404

13.2.2 ReiserFS 407

13.2.3 XFS 408

13.3 选择文件系统的标准 411

13.4 NFS的使用 411

13.4.1 NFS简介 411

13.4.2 NFS的实现原理 412

13.4.3 NFS的安装与配置 413

13.5 Linux下常用的数据恢复工具 419

13.5.1 如何使用“rm -rf”命令 419

13.5.2 extundelete与ext3grep的

异同 419

13.5.3 extundelete的恢复原理 419

13.5.4 安装extundelete 420

13.5.5 extundelete用法详解 420

13.5.6 实战:通过extundelete

恢复数据的过程 421

第14章 Linux内存管理 426

14.1 物理内存和虚拟内存 427

14.2 内存的监控 428

14.3 交换空间的使用 430

14.4 查看进程占用内存 432

第15章 Linux系统进程管理 434

15.1 进程的概念和分类 435

15.2 进程的监控与管理 437

15.2.1 利用ps命令监控系统

进程 437

15.2.2 利用pstree监控系统进程 438

15.2.3 利用top监控系统进程 440

15.2.4 利用lsof监控系统进程与

程序 441

15.2.5 利用pgrep查询进程ID 443

15.3 任务调度进程crond的使用 444

15.3.1 crond简介 444

15.3.2 crontab工具的使用 445

15.3.3 使用crontab工具的

注意事项 447

15.4 用kill和killall终止进程 448

15.4.1 用kill终止进程 448

15.4.2 用killall终止进程 449

第16章 Linux系统优化思路 453

16.1 性能问题综述 454

16.2 影响Linux性能的因素 454

16.2.1 系统硬件资源 454

16.2.2 操作系统相关资源 456

16.2.3 应用程序软件资源 457

16.3 分析系统性能涉及的人员 458

16.3.1 Linux运维人员 458

16.3.2 系统架构设计人员 458

16.3.3 软件开发人员 458

16.4 系统性能分析工具 459

16.5 系统性能分析标准 461

16.6 本章总结 462

第17章 Linux系统性能评估与

优化案例 463

17.1 CPU性能评估 464

17.1.1 vmstat命令 464

17.1.2 sar命令 465

17.1.3 iostat命令 467

17.1.4 uptime命令 467

17.1.5 本节小结 467

17.2 内存性能评估 468

17.2.1 free 命令 468

17.2.2 通过watch与free相结合

动态监控内存状况 469

17.2.3 vmstat命令监控内存 469

17.2.4 “sar –r”命令组合 470

17.2.5 本节小结 470

17.3 磁盘I/O性能评估 470

17.3.1 “sar –d”命令组合 471

17.3.2 “iostat –d”命令组合 472

17.3.3 “vmstat –d”命令组合 474

17.3.4 本节小结 474

17.4 网络性能评估 475

17.4.1 通过ping命令检测网络的

连通性 475

17.4.2 通过“netstat –I”命令组合

检测网络接口状况 475

17.4.3 通过“netstat –r”命令组合

检测系统的路由表信息 476

17.4.4 通过“sar –n”命令组合显示系统的网络运行状态 477

17.4.5 本节小结 478

17.5 基于Web应用的性能分析及

优化案例 478

17.5.1 基于动态内容的网站优化

案例 478

17.5.2 基于动态、静态内容结合的

网站优化案例 480

第18章 虚拟化云计算平台

Proxmox VE 485

18.1 OpenVZ简介 486

18.2 KVM简介 486

18.3 Proxmox VE简介 486

18.4 安装Proxmox VE 487

18.5 Proxmox VE的使用 492

18.5.1 Proxmox VE功能选项说明 492

18.5.2 创建OpenVZ虚拟机 496

18.5.3 创建KVM 500

第19章 高性能集群软件Keepalived 506

19.1 集群的定义 507

19.2 集群的特点与功能 507

19.2.1 高可用性与可扩展性 507

19.2.2 负载均衡与错误恢复 508

19.2.3 心跳监测与漂移IP地址 508

19.3 集群的分类 509

19.3.1 高可用集群 509

19.3.2 负载均衡集群 510

19.3.3 分布式计算集群 511

19.4 HA集群中的相关术语 511

19.5 Keepalived简介 512

19.5.1 Keepalived的用途 512

19.5.2 VRRP与工作原理 513

19.5.3 Keepalived工作原理 513

19.5.4 Keepalived的体系结构 514

19.6 Keepalived安装与配置 516

19.6.1 Keepalived的安装过程 516

19.6.2 Keepalived的全局配置 518

19.6.3 Keepalived的VRRPD配置 518

19.6.4 Keepalived的LVS配置 522

19.7 Keepalived基础功能应用实例 526

19.7.1 Keepalived基础HA功能

演示 526

19.7.2 通过vrrp_script实现对

集群资源的监控 532

19.7.3 Keepalived集群中Master和

Backup角色选举策略 535

第20章 负载均衡集群LVS与

HAProxy 537

20.1 LVS简介 538

20.2 LVS体系结构 538

20.3 LVS集群的特点 539

20.3.1 IP负载均衡与负载调度

算法 539

20.3.2 高可用性 541

20.3.3 高可靠性 542

20.3.4 适用环境 542

20.3.5 开源软件 542

20.4 LVS的安装与使用 542

20.4.1 安装IPVS管理软件 542

20.4.2 ipvsadm的用法 543

20.5 通过Keepalived搭建LVS

高可用性集群系统 545

20.5.1 实例环境 545

20.5.2 配置Keepalived 546

20.5.3 配置Real Server节点 549

20.5.4 启动Keepalived+LVS集群

系统 550

20.6 测试高可用LVS负载均衡集群

系统 551

20.6.1 高可用性功能测试 551

20.6.2 负载均衡测试 552

20.6.3 故障转移测试 552

20.7 高性能负载均衡软件HAProxy 553

20.7.1 HAProxy简介 553

20.7.2 4层和7层负载均衡器的

区别 554

20.7.3 HAProxy与LVS的异同 555

20.8 HAProxy基础配置与应用实例 556

20.8.1 快速安装HAProxy集群

软件 556

20.8.2 HAProxy基础配置文件详解 556

20.8.3 通过HAProxy的ACL规则

实现智能负载均衡 563

20.8.4 管理与维护HAProxy 565

20.8.5 使用HAProxy的Web监控

平台 569

20.9 搭建HAProxy+Keepalived

高可用负载均衡系统 570

20.9.1 搭建环境描述 570

20.9.2 配置HAProxy负载均衡

服务器 571

20.9.3 配置主、备用KeepAlived

服务器 573

20.10 测试HAProxy+Keepalived

高可用负载均衡集群 576

20.10.1 测试Keepalived的高可用

功能 576

20.10.2 测试负载均衡功能 578

资源截图:

循序渐进Linux 第2版