技术教育社区
www.teccses.org

Linux系统运维指南(从入门到企业实战)

封面

作者:储成友

页数:471

出版社:人民邮电出版社

出版日期:2020

ISBN:9787115529183

电子书格式:pdf/epub/txt

内容简介

本书系统全面、由浅入深地介绍了Linux系统运维的知识,以及在企业实际环境中用到的各类服务、架构和运维管理。本书分基础篇、LAMP/LNMP架构篇、应用服务篇和架构运用篇。基础篇详细介绍Linux系统的基础知识,LAMP/LNMP架构篇介绍时下企业中最常见的两种架构的部署与配置,应用服务篇以企业实际运维环境为出发点详细介绍当下企业用到的各类开源软件服务,架构运用篇对前三篇的知识进行总结,并结合企业的实际场景加以实践。
本书既适合在Linux系统运维方面零基础的技术人员阅读,也适合初、中级运维工程师和网络工程师学习使用。

作者简介

储成友(民工哥) 互联网开源技术爱好者,拥有十余年IT从业经历,在企业信息化建设与系统运维方面经验丰富,专注于系统架构、高可用、高性能、高并发、数据库等开源技术,擅长企业信息化项目建设、运维架构设计与实施。

本书特色

适读人群 :本书既适合在Linux系统运维方面零基础的技术人员阅读,也适合初、中级运维工程师和网络工程师学习使用。用简洁的语言阐述了企业系统运维的核心知识;囊括学习Linux操作系统的理论;LAMP LNMP架构的部署、配置与优化的应用详解;展示企业运维环境下的各开源软件服务及配置过程;结合实际场景对数据库、服务器等架构进行演练。

目录

基 础 篇

第 1章 操作系统的安装与基础配置3

1.1 操作系统的安装3

1.1.1 准备Linux操作系统安装文件3

1.1.2 配置虚拟机3

1.1.3 安装CentOS操作系统10

1.2 操作系统的基础配置15

1.2.1 修改默认主机名15

1.2.2 配置IP地址16

1.2.3 为系统添加操作用户16

1.2.4 安装常用软件17

1.2.5 配置Yum源17

1.2.6 关闭防火墙服务17

1.2.7 关闭SELinux服务18

1.2.8 修改SSH服务默认配置18

1.2.9 修改文件描述符19

1.2.10 登录超时退出19

第 2章 Linux系统的目录及重要文件20

2.1 系统目录及其作用20

2.1.1 根目录结构及其作用20

2.1.2 根下常见目录介绍20

2.2 Linux系统的重要文件21

2.2.1 网卡配置文件21

2.2.2 DNS配置文件22

2.2.3 系统hosts文件22

2.2.4 主机名配置文件23

2.2.5 fstab文件23

2.2.6 rc.local文件23

2.2.7 全局环境变量配置文件24

2.2.8 定时任务配置文件24

2.2.9 用户相关的配置文件25

第3章 新手第一的系统基础命令26

3.1 系统管理命令26

3.1.1 man命令26

3.1.2 ls命令26

3.1.3 cd命令27

3.1.4 useradd命令28

3.1.5 passwd命令28

3.1.6 free命令29

3.1.7 whoami命令30

3.1.8 ps命令30

3.1.9 date命令31

3.1.10 pwd命令33

3.1.11 shutdown命令33

3.2 文件目录管理命令34

3.2.1 touch命令34

3.2.2 cat命令35

3.2.3 mkdir命令36

3.2.4 rm命令37

3.2.5 cp命令37

3.2.6 mv命令38

3.2.7 find命令39

3.3 文件压缩与解压命令40

3.3.1 tar命令40

3.3.2 zip命令41

3.3.3 unzip命令42

3.4 磁盘管理命令43

3.4.1 df命令43

3.4.2 du命令44

3.4.3 fdisk命令44

3.4.4 mount命令45

3.5 网络管理命令46

3.5.1 ping命令46

3.5.2 wget命令46

3.5.3 telnet命令47

3.5.4 netstat命令47

3.5.5 curl命令49

3.5.6 ss命令49

3.6 系统性能管理命令51

3.6.1 uptime命令51

3.6.2 top命令51

3.6.3 iostat命令53

3.6.4 ifstat命令55

3.6.5 lsof命令55

3.6.6 time命令57

3.7 软件包管理命令57

3.7.1 yum命令57

3.7.2 rpm命令59

第4章 Linux文件系统、用户与权限61

4.1 文件系统概述61

4.1.1 文件类型61

4.1.2 文件属性62

4.2 用户与用户组63

4.2.1 用户分类63

4.2.2 用户组64

4.3 用户权限65

4.3.1 默认权限65

4.3.2 umask值与默认权限的关系65

4.3.3 如何修改默认权限66

4.4 文件权限66

4.4.1 文件权限分类66

4.4.2 如何修改权限67

第5章 磁盘管理68

5.1 磁盘分类68

5.2 磁盘的容量计算68

5.3 磁盘分区69

5.4 磁盘分区工具69

5.4.1 fdisk分区工具69

5.4.2 parted分区工具70

5.5 RAID技术概述71

5.5.1 RAID的定义71

5.5.2 RAID的级别与分类72

5.5.3 RAID的优点72

5.5.4 常用RAID对比72

第6章 正则表达式与vim编辑器的

使用73

6.1 什么是正则表达式73

6.2 字符73

6.3 文本处理命令74

6.3.1 grep命令74

6.3.2 sed命令74

6.3.3 awk命令75

6.4 正则表达式使用示例75

6.5 vim编辑器75

6.5.1 什么是vim编辑器75

6.5.2 vim编辑器的3种模式76

6.6 vim编辑的操作76

6.6.1 光标的移动方法76

6.6.2 搜索与查找76

6.6.3 删除、复制与粘贴77

6.6.4 保存与退出77

LAMP LNMP架构篇

第7章 Apache的安装与配置81

7.1 Apache概述81

7.1.1 什么是Apache81

7.1.2 Apache的应用场景81

7.2 安装Apache81

7.2.1 安装环境准备81

7.2.2 Apache的安装过程82

7.3 Apache的目录结构与配置文件84

7.3.1 Apache的目录结构与作用85

7.3.2 Apache的主配置文件86

7.3.3 Apache的日志格式与日志切割86

7.4 配置Apache的虚拟主机88

7.4.1 配置基于域名的虚拟主机88

7.4.2 配置基于端口的虚拟主机90

7.5 Apache的优化配置91

7.5.1 修改默认用户与组91

7.5.2 优化错误页面的显示内容92

7.5.3 隐藏Apache的版本信息92

7.5.4 配置Apache的日志轮询93

7.5.5 优化站点目录权限94

7.5.6 开启Apache防盗链功能94

7.5.7 禁止PHP程序解析指定站点

目录95

第8章 MySQL与PHP的安装与配置96

8.1 MySQL概述96

8.1.1 MySQL简介96

8.1.2 MySQL版本96

8.2 MySQL的部署过程96

8.2.1 MySQL常见的安装方式96

8.2.2 MySQL的安装与部署97

8.3 MySQL的目录结构与配置文件99

8.3.1 MySQL的目录结构99

8.3.2 MySQL的配置文件99

8.4 PHP的安装与配置100

8.4.1 准备安装环境100

8.4.2 PHP的安装过程101

8.4.3 配置Apache支持PHP程序103

8.4.4 测试配置104

8.4.5 PHP目录105

第9章 Nginx的安装与配置107

9.1 Nginx概述107

9.1.1 什么是Nginx107

9.1.2 Nginx的功能107

9.1.3 Nginx的优点107

9.2 安装Nginx108

9.2.1 准备安装环境108

9.2.2 安装依赖库109

9.2.3 编译和安装Nginx109

9.3 配置Nginx支持PHP程序111

9.3.1 修改配置文件111

9.3.2 启动服务并检查112

9.4 Nginx目录与配置文件114

9.4.1 Nginx目录结构及其说明114

9.4.2 Nginx的配置文件简介114

9.5 配置Nginx虚拟主机115

9.5.1 配置基于域名的虚拟主机115

9.5.2 配置基于IP的虚拟主机117

9.5.3 配置基于端口的虚拟主机119

9.6 优化Nginx主配置文件120

9.6.1 精简主配置文件120

9.6.2 拆分主配置文件121

9.6.3 开启日志功能122

9.6.4 配置Nginx gzip压缩功能123

9.6.5 配置expires缓存功能124

9.6.6 优化Nginx错误页面125

第 10章 使用WordPress搭建自己的博客站点127

10.1 安装环境127

10.1.1 系统环境127

10.1.2 软件环境127

10.2 准备工作128

10.2.1 下载WordPress软件128

10.2.2 配置Nginx虚拟主机128

10.2.3 创建WordPress数据库129

10.3 搭建WordPress博客站点129

10.3.1 复制站点文件并授权129

10.3.2 安装和配置WordPress130

应用服务篇

第 11章 Linux系统登录与管理139

11.1 SSH服务概述139

11.1.1 什么是SSH服务139

11.1.2 SSH服务的认证类型139

11.2 SSH服务的操作140

11.2.1 SSH服务的安装与启动140

11.2.2 SSH相关操作命令141

11.3 SSH免密登录实战142

11.3.1 环境配置142

11.3.2 生成密钥对142

11.3.3 分发密钥143

11.3.4 测试免密分发数据144

11.4 定时任务144

11.4.1 什么是定时任务144

11.4.2 crond命令144

11.4.3 系统定时任务145

11.4.4 定时任务的书写与配置146

11.5 服务器权限管理146

11.5.1 sudo介绍146

11.5.2 etc sudoers配置文件147

11.5.3 编辑配置文件规范149

第 12章 网络文件系统(NFS)与数据同步151

12.1 网络文件系统简介151

12.1.1 什么是网络文件系统151

12.1.2 NFS实现过程151

12.2 NFS的安装与部署152

12.2.1 NFS服务端的部署152

12.2.2 NFS客户端的部署154

12.2.3 客户端安全配置156

12.3 NFS客户端挂载优化157

12.3.1 挂载参数157

12.3.2 优化实例测试157

12.4 rsync数据同步服务158

12.4.1 rsync服务简介158

12.4.2 rsync服务的安装与操作命令159

12.4.3 rsync数据同步实战操作160

12.5 sersync数据同步服务162

12.5.1 sersync服务简介162

12.5.2 sersync服务的工作过程163

12.5.3 sersync服务的安装准备163

12.5.4 安装配置sersync服务164

12.5.5 启动sersync服务166

12.5.6 测试数据同步167

第 13章 MySQL服务常用管理169

13.1 MySQL的基础管理操作169

13.1.1 MySQL服务的启动与停止169

13.1.2 MySQL服务的登录和退出169

13.1.3 MySQL服务密码修改与找回171

13.2 MySQL数据库常用管理操作172

13.2.1 创建、删除数据库173

13.2.2 连接数据库174

13.2.3 创建与删除用户174

13.2.4 权限管理176

13.3 MySQL数据库表管理177

13.3.1 创建表177

13.3.2 表结构178

13.3.3 表主键178

13.3.4 表索引179

13.4 表数据操作181

13.4.1 插入数据181

13.4.2 查询数据181

13.4.3 修改(更新)数据182

13.4.4 删除数据183

13.4.5 表字段的增删184

13.4.6 表更名185

13.4.7 删除表185

第 14章 MySQL数据库的备份与恢复187

14.1 数据库备份概述187

14.1.1 全量与增量备份187

14.1.2 数据库备份方法188

14.2 MySQL数据库备份操作188

14.2.1 库备份188

14.2.2 数据库表和表结构备份191

14.2.3 备份优化191

14.2.4 不同数据库引擎备份的注意事项192

14.3 MySQL数据库的恢复192

14.3.1 使用source命令193

14.3.2 使用mysql命令193

14.4 MySQL物理备份工具XtraBackup193

14.4.1 什么是XtraBackup193

14.4.2 XtraBackup的特点194

14.4.3 XtraBackup的备份过程194

14.4.4 XtraBackup的增量备份195

14.4.5 XtraBackup的恢复195

14.4.6 XtraBackup的安装环境195

14.4.7 安装XtraBackup196

14.4.8 XtraBackup的命令介绍196

14.4.9 XtraBackup全量备份与数据恢复197

14.4.10 XtraBackup增量备份与数据恢复200

第 15章 无人值守批量安装操作系统205

15.1 PXE技术概述205

15.1.1 什么是PXE技术205

15.1.2 PXE的工作过程205

15.2 KickStart简介206

15.3 无人值守安装准备207

15.3.1 配置环境207

15.3.2 配置HTTP服务207

15.3.3 安装与配置TFTP服务208

15.3.4 安装与配置DHCP服务209

15.4 KickStart部署209

15.4.1 配置PXE引导210

15.4.2 修改客户端配置文件210

15.4.3 配置ks.cfg文件211

15.4.4 客户端无人值守安装213

第 16章 集群架构技术216

16.1 集群概述217

16.1.1 什么是集群217

16.1.2 集群架构的特性217

16.2 集群的分类217

16.2.1 负载均衡集群218

16.2.2 高可用集群219

16.2.3 常用集群软硬件220

16.3 企业集群架构迭代过程220

16.3.1 初期架构220

16.3.2 中期架构222

16.3.3 终期架构223

第 17章 Nginx负载均衡226

17.1 负载均衡概述226

17.1.1 为什么要使用负载均衡226

17.1.2 负载均衡简介226

17.1.3 负载均衡分类226

17.2 Nginx负载均衡简介227

17.3 Nginx实现负载均衡的方式227

17.4 Nginx负载均衡应用配置228

17.4.1 环境准备228

17.4.2 Nginx轮询模式负载均衡配置228

17.4.3 Nginx权重模式负载均衡配置229

17.4.4 Nginx ip_hash模式负载均衡配置231

17.4.5 Nginx负载均衡模块参数232

17.5 Nginx 的7层代理负载均衡233

17.5.1 根据目录实现动静态分离234

17.5.2 通过匹配扩展名实现动静态分离235

第 18章 LVS负载均衡237

18.1 LVS服务概述237

18.1.1 LVS服务简介237

18.1.2 LVS的发展与组成237

18.1.3 LVS相关的术语237

18.1.4 为什么需要LVS238

18.2 LVS的工作模式238

18.2.1 网络地址转换模式238

18.2.2 隧道模式239

18.2.3 直接路由模式241

18.2.4 Full NAT模式242

18.3 LVS调度算法242

18.4 LVS负载均衡部署244

18.4.1 LVS服务DR模式部署244

18.4.2 LVS服务NAT模式部署247

18.4.3 LVS服务TUN模式部署249

18.5 ipvsadm命令及参数介绍251

第 19章 Keepalived高可用集群服务253

19.1 高可用概述253

19.1.1 什么是高可用253

19.1.2 如何构建高可用253

19.2 Keepalived高可用服务254

19.2.1 Keepalived服务介绍254

19.2.2 Keepalived故障切换原理254

19.3 Keepalived服务的部署与配置255

19.3.1 部署环境255

19.3.2 Keepalived服务的部署256

19.3.3 Keepalived配置文件详解257

19.3.4 Keepalived实例配置258

第 20章 NoSQL数据库服务的部署与管理264

20.1 NoSQL数据库简介264

20.1.1 什么是NoSQL数据库264

20.1.2 NoSQL数据库的分类264

20.1.3 NoSQL数据库的使用场景265

20.2 Memcached服务的部署与配置265

20.2.1 什么是Memcached265

20.2.2 Memcached的工作流程265

20.2.3 Memcached的特性与应用场景266

20.2.4 Memcached的部署与配置267

20.2.5 Memcached操作命令268

20.3 Redis服务的部署与配置270

20.3.1 什么是Redis270

20.3.2 Redis的应用场景270

20.3.3 Redis服务的部署271

20.3.4 Redis服务的启动与关闭271

20.3.5 Redis的数据类型272

20.3.6 Redis的管理命令275

20.3.7 Redis事务与安全配置276

20.3.8 Redis持久化、备份与恢复277

第 21章 Java Web应用服务器Tomcat服务280

21.1 Tomcat服务概述280

21.1.1 Tomcat服务简介280

21.1.2 Tomcat名称的由来280

21.1.3 Tomcat常用版本介绍280

21.2 Tomcat服务的部署281

21.2.1 环境准备281

21.2.2 安装和启动Tomcat282

21.3 Tomcat服务的配置283

21.3.1 Tomcat目录结构及功能283

21.3.2 Tomcat server.xml配置文件简介284

21.3.3 Tomcat核心组件285

21.3.4 Tomcat日志切割286

21.4 Tomcat性能优化287

21.4.1 服务器系统优化287

21.4.2 网络优化288

21.4.3 服务自身优化289

21.4.4 集群化291

第 22章 Zabbix监控服务293

22.1 监控体系概述293

22.1.1 为什么需要监控293

22.1.2 监控目标与流程293

22.1.3 监控的对象293

22.1.4 监控工具295

22.2 Zabbix简介295

22.2.1 什么是Zabbix295

22.2.2 Zabbix的功能296

22.2.3 Zabbix的工作原理296

22.3 Zabbix服务的部署与配置297

22.3.1 部署环境297

22.3.2 部署Zabbix297

22.3.3 配置中文支持302

22.4 Zabbix相关组件与概念303

22.4.1 Zabbix的组件303

22.4.2 Zabbix重要概念简介303

22.5 Zabbix监控实战操作304

22.5.1 Agent端的部署与配置304

22.5.2 Web端添加被监控主机305

22.5.3 绘制图形展示306

22.5.4 配置邮件报警通知310

第 23章 企业级数据库监控服务

Lepus317

23.1 Lepus概述317

23.1.1 Lepus的由来317

23.1.2 Lepus监控系统简介317

23.1.3 Lepus的功能与特性317

23.1.4 Lepus解决的难题318

23.2 Lepus的部署319

23.2.1 安装环境要求319

23.2.2 LAMP基础环境安装319

23.2.3 Python基础模块安装320

23.2.4 Lepus采集器安装321

23.2.5 安装Web管理端324

23.3 Lepus配置管理实例326

23.3.1 配置监控MySQL326

23.3.2 配置监控OS328

第 24章 企业源代码管理工具331

24.1 常见的版本管理工具331

24.1.1 VSS331

24.1.2 CVS331

24.1.3 SVN331

24.1.4 Git331

24.2 Git的安装332

24.2.1 安装所需的依赖包332

24.2.2 安装Git332

24.3 Git的工作流程与核心概念333

24.3.1 Git的工作流程333

24.3.2 Git的核心概念333

24.4 Git的常用命令与基本操作333

24.4.1 仓库管理命令333

24.4.2 分支管理命令334

24.4.3 查看操作命令335

24.4.4 其他命令336

24.5 Git代码服务器的搭建336

24.5.1 Git协议336

24.5.2 环境准备337

24.5.3 搭建代码管理服务器337

第 25章 Docker容器技术入门340

25.1 Docker简介340

25.1.1 什么是Docker340

25.1.2 为什么要使用Docker340

25.1.3 Docker名词术语341

25.2 Docker的优点与应用场景342

25.2.1 Docker的优点342

25.2.2 Docker的应用场景342

25.3 Docker的部署344

25.3.1 Docker的部署要求344

25.3.2 Docker的部署操作344

25.4 Docker的网络模式345

25.4.1 host模式345

25.4.2 container模式345

25.4.3 none模式345

25.4.4 bridge模式346

25.5 Docker的数据存储346

25.5.1 数据卷346

25.5.2 容器卷350

25.6 Docker容器的管理351

25.6.1 Docker容器的创建与删除351

25.6.2 进入与退出容器352

25.6.3 Docker容器的运行353

25.6.4 Docker容器常用管理

命令353

第 26章 Docker镜像仓库的构建与镜像管理365

26.1 Docker私有仓库简介365

26.1.1 什么是私有仓库365

26.1.2 为什么需要私有仓库365

26.2 构建Docker私有仓库365

26.2.1 部署环境365

26.2.2 服务端部署366

26.2.3 客户端配置367

26.3 私有镜像仓库测试367

26.3.1 客户端测试环境准备367

26.3.2 上传镜像368

26.3.3 下载镜像368

26.4 Dockerfile概述369

26.4.1 什么是Dockerfile369

26.4.2 Dockerfile的组成369

26.4.3 Dockerfile的指令分类370

26.4.4 Dockerfile指令详解370

26.5 通过Dockerfile快速构建镜像372

26.5.1 编辑Dockerfile文件373

26.5.2 构建过程373

26.5.3 通过构建的镜像启动容器374

第 27章 Docker三剑客375

27.1 Docker Machine375

27.1.1 什么是Docker Machine375

27.1.2 Docker与Docker Machine的区别375

27.1.3 安装Docker Machine375

27.1.4 Docker Machine命令帮助信息376

27.1.5 Docker Machine命令详解377

27.1.6 Docker Machine命令实例操作377

27.1.7 Docker Machine配置实战380

27.2 Docker Compose382

27.2.1 什么是Docker Compose382

27.2.2 Docker Compose的工作流程382

27.2.3 Docker Compose的部署383

27.2.4 Docker Compose管理命令383

27.2.5 Docker Compose的配置文件385

27.2.6 运行Docker Compose配置文件386

27.2.7 Docker Compose配置实战387

27.3 Docker Swarm391

27.3.1 什么是Swarm391

27.3.2 Swarm集群版本391

27.3.3 Swarm的核心概念391

27.3.4 Swarm服务的运行部分391

27.3.5 Swarm的调度策略392

27.3.6 如何创建Swarm集群392

27.3.7 Docker Swarm常用管理命令393

27.3.8 Swarm集群的部署394

27.3.9 Docker Swarm部署服务实战401

第 28章 自动化运维工具SaltStack服务404

28.1 SaltStack简介404

28.1.1 什么是SaltStack404

28.1.2 SaltStack的功能与工作方式404

28.2 SaltStack的安装与部署405

28.2.1 部署环境405

28.2.2 SaltStack的安装405

28.3 SaltStack认证配置407

28.3.1 salt-key命令407

28.3.2 配置认证407

28.4 SaltStack功能介绍408

28.4.1 SaltStack数据系统408

28.4.2 SaltStack文件系统410

28.4.3 SaltStack远程执行411

28.4.4 SaltStack配置管理414

28.5 SaltStack的Job管理416

28.5.1 Job简介416

28.5.2 Job的基本管理417

架构运用篇

第 29章 MySQL性能优化及主从同步架构实践421

29.1 数据库优化421

29.1.1 硬件性能优化421

29.1.2 配置文件优化421

29.2 MySQL主从同步概述423

29.2.1 为什么需要主从同步架构423

29.2.2 MySQL主从同步的原理424

29.3 MySQL主从同步架构实践424

29.3.1 环境准备424

29.3.2 配置MySQL主从同步425

29.3.3 验证MySQL主从同步428

29.3.4 MySQL主从同步常见故障的处理429

第30章 MySQL高可用集群与读写分离架构实践430

30.1 MySQL高可用架构概述430

30.1.1 主从架构430

30.1.2 MySQL DRBD架构431

30.1.3 MySQL MHA架构431

30.1.4 MySQL MMM架构432

30.1.5 MySQL Cluster架构433

30.2 MHA软件概述433

30.2.1 MHA简介433

30.2.2 MHA相关工具434

30.3 MHA高可用的部署与配置434

30.3.1 环境准备435

30.3.2 配置SSH免密登录436

30.3.3 部署MHA软件437

30.3.4 MHA高可用方案配置437

30.3.5 测试MHA故障切换440

30.3.6 解决实际生产场景问题441

30.4 MySQL读写分离架构实践442

30.4.1 什么是读写分离443

30.4.2 读写分离实现的方式443

30.4.3 读写分离工具Atlas简介443

30.4.4 Atlas的部署与配置444

第31章 搭建企业日志分析平台449

31.1 日志概述449

31.1.1 日志分类449

31.1.2 日志级别449

31.2 ELK日志系统449

31.2.1 ELK日志系统简介450

31.2.2 ELK日志系统的部署450

31.2.3 收集系统日志并展示效果453

31.3 配置Kibana登录认证455

第32章 Linux服务器集群架构案例实践457

32.1 LVS+Keepalived集群实践457

32.1.1 部署环境457

32.1.2 配置Keepalived457

32.1.3 启动服务并测试458

32.1.4 测试故障切换460

32.2 Nginx+Keepalived集群实践460

32.2.1 Keepalived与Nginx配置460

32.2.2 Nginx+Keepalived双主企业架构实践463

第33章 数据备份与运维管理467

33.1 数据备份概述467

33.2 企业常用的数据备份方法与实践468

33.2.1 企业常用的数据备份方法468

33.2.2 数据备份实践操作468

33.3 运维管理470

33.3.1 日常运维470

33.3.2 数据运维471

33.3.3 安全运维471

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《Linux系统运维指南(从入门到企业实战)》
Article link:https://www.teccses.org/1370861.html