Linux系统架构与运维实战
  • 推荐0
  • 收藏1
  • 浏览885

Linux系统架构与运维实战

明哲 (作者)  黄爱萍 (责任编辑)

  • 书  号:978-7-121-32533-5
  • 出版日期:2018-01-01
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 维护人:黄爱萍
电子书 ¥69.00
购买电子书
本书第1章主要讲解Linux的基础运维,可以使读者快速了解和掌握日常运维的技巧;第2章~第7章讲解Web网站的架构模式和在大型网站架构中实现集群的高可用与负载均衡的方法,线上的项目发生故障时可以借助监控快速定位、排错和解决问题;第8章讲解NoSQL非关系型数据库,它具有更高的写入负载,可以采集数据进行大量的写入,如果数据查询具有更高的读取速度且有确定位置,则会查得更快;第9章~第13章讲解Jenkins持续化集成、Docker的安装和应用,以及使用Kubernetes容器编排工具进行容器的管理和调度。
系统地介绍Docker容器技术,深入浅出地讲解Kubernetes集群和项目实战案例,使读者快速掌握微服务架构部署。
明哲,Linux运维践行者,软件开发工程师,熟悉PHP、Python、Go等多种编程语言。在自动化运维、微服务架构、量化投资、人工智能和区块链等领域有丰富的实战经验。
前 言


20世纪90年代初,Linux操作系统诞生,随着虚拟化、云计算、大数据、容器技术的出现和人工智能时代的来临,Linux以迅雷不及掩耳之势飞速发展,占据着整个服务器行业的半壁江山,但同时也面临着巨大的挑战。当今互联网企业的需求多种多样、业务复杂且难度大,这都需要使用合理的管理模式来保证Linux服务器的安全、稳定和高可用性。
虚拟化一般分为硬件级虚拟化(Hardware-Level-Virtualization)和操作系统级虚拟化(OS-Level-Virtualization)。硬件级虚拟化是运行在硬件上的虚拟化技术,其管理软件是Hypervisor或Virtual Machine Monitor,需要模拟一个完整的操作系统,也就是通常所说的基于Hyper-V的虚拟化技术,VMWare、Xen、VirtualBox、亚马逊AWS和阿里云用的都是这种技术。操作系统级虚拟化是运行在操作系统上的,模拟的是运行在操作系统上的多个不同的进程,并将其封装在一个密闭的容器里,也称为容器化技术。Docker 正是容器虚拟化中目前较流行的一种实现。
我们知道,销售传统的服务器或计算机主机基本上都是一锤子买卖,商家销售出去之后基本就很难再从消费者身上获得其他收入。随着云概念的出现,越来越多的商家意识到卖硬件是不可能获得长期利润的,只有服务才能持续盈利。因此,在 2010 年左右,出现了大批提供云服务的公司,大体可以归为下面几种类型。
 基础设施即服务(Infrastructure as a Service,IaaS),通常指在云端为用户提供基础设施,如虚拟机、服务器、存储、负载均衡、网络等。亚马逊的AWS就是这个领域的佼佼者,在国内则以阿里云为首。
 平台即服务(Platform as a Service,PaaS),通常指在云端为用户提供可执行环境、数据库、网站服务器、开发工具等。国外的 OpenShift、Red Hat、Cloudera Cloud Foundry、Google App Engine 都是这个领域的佼佼者,当然还有一个非常有名的公司,那就是 dotCloud。
 软件即服务(Software as a Service,SaaS),通常指在云端为用户提供软件,如CRM系统、邮件系统、在线协作、在线办公等。国内的有道、麦客、Tower都是这个领域的产品。
目前市场上Linux相关图书众多,但是普遍带有局限性,要么只有理论和基础知识,要么侧重于介绍软件的安装,大多偏离了企业生产场景。
本书以RHEL/CentOS 7为背景,从基础知识讲起,逐步深入,结合大量的实际应用案例,使读者迅速掌握Linux运维技术的经验和各种使用技巧,从而达到提升技术能力的效果。

目录

目 录

第1章 Linux日常运维管理 1
1.1 w命令 1
1.2 vmstat命令 2
1.3 top命令 3
1.4 sar命令 7
1.5 nload命令 9
1.6 监控I/O性能 9
1.7 free命令 11
1.8 ps命令 12
1.9 查看网络状态 15
1.10 Linux操作系统下的网络抓包 16
1.11 Firewalld和Netfilter 17
1.12 Netfilter 5表5链简介 18
1.13 iptables语法 19
1.14 iptables nat表应用 21
1.15 iptables规则备份与恢复 26
1.16 Firewalld的9个zone 27
1.17 Firewalld关于zone的操作 28
1.18 Firewalld关于services的操作 29
1.19 Linux任务计划 31
1.20 Linux系统服务管理工具chkconfig 33
1.21 systemd管理服务 34
1.22 unit和target简介 35
1.22.1 unit简介 35
1.22.2 target简介 36
1.23 Linux系统日志 37
1.23.1 dmesg命令 38
1.23.2 last命令 38
1.23.3 lastb命令 38
第2章 LAMP服务架构 39
2.1 LAMP服务架构介绍 39
2.2 MySQL和MariaDB数据库简介 39
2.3 MySQL和MariaDB数据库安装 40
2.3.1 MySQL数据库安装 40
2.3.2 MariaDB数据库安装 41
2.4 Apache服务安装 43
2.5 PHP源码编译安装 46
2.5.1 PHP版本介绍 46
2.5.2 PHP 5.6源码编译安装 46
2.5.3 PHP 7.X源码编译安装 48
2.6 Python源码编译安装 49
2.6.1 Python 3.6编译安装 49
2.6.2 安装Python扩展MySQL数据库 50
2.7 Apache结合PHP进行操作 52
2.8 Apache默认虚拟主机 54
2.9 Apache相关配置 56
2.9.1 Apache用户认证 56
2.9.2 域名跳转机制 59
2.9.3 Apache访问日志 60
2.9.4 静态文件不记录日期和时间 61
2.9.5 访问日志切割 62
2.9.6 静态元素过期时间 63
2.9.7 配置防盗链 64
2.9.8 访问控制Directory 64
2.9.9 访问控制FilesMatch 66
2.9.10 限定某个目录禁止解析PHP 66
2.9.11 限制user_agent 66
2.10 PHP相关配置 67
2.11 安装PHP扩展模块Redis 68
第3章 LNMP服务架构 70
3.1 LNMP服务架构简介 70
3.2 安装MySQL数据库 70
3.3 安装PHP 72
3.4 Nginx简介与安装 74
3.4.1 Nginx简介 74
3.4.2 Nginx安装 74
3.4.3 Nginx测试解析PHP 75
3.5 Nginx相关配置 76
3.5.1 Nginx默认虚拟主机 76
3.5.2 Nginx用户认证 78
3.5.3 Nginx域名跳转 80
3.5.4 Nginx访问日志 80
3.5.5 Nginx日志切割 81
3.5.6 静态文件不记录日期和时间 83
3.5.7 Nginx设置防盗链 83
3.5.8 Nginx进行访问控制 84
3.5.9 Nginx解析PHP相关设置 84
3.6 Nginx代理 85
3.7 Nginx负载均衡 86
3.8 Nginx配置SSL 88
3.8.1 生成SSL秘钥对 88
3.8.2 Nginx配置SSL 89
3.9 php-fpm配置 90
3.9.1 php-fpm的pool 90
3.9.2 php-fpm慢执行日志 92
3.9.3 open_basedir 93
3.9.4 php-fpm管理进程 94
3.10 部署phpMyAdmin 94
3.11 安装&设置Laravel框架 95
3.12 安装&设置Yii2框架 98
3.13 安装&设置ThinkPHP 5框架 100
3.14 安装&设置Django框架 102
3.14.1 安装Django框架 102
3.14.2 Django runserver 102
3.14.3 运行Hello World 105
3.15 安装&设置Flask框架 108
第4章 MySQL数据库技术实践 110
4.1 设置和更改root密码 110
4.1.1 设置MySQL数据库环境变量 110
4.1.2 设置MySQL数据库密码 110
4.1.3 修改MySQL数据库密码 111
4.1.4 重置MySQL数据库密码 111
4.2 连接MySQL的几种方式 113
4.3 MySQL常用命令 114
4.4 MySQL创建用户及授权 117
4.5 MySQL数据备份与恢复 118
4.6 MySQL主从复制监控 119
4.7 MySQL主从准备工作 119
4.8 设置MySQL主 119
4.9 设置MySQL从 121
4.10 测试MySQL主从同步 122
第5章 Tomcat服务 124
5.1 Tomcat介绍 124
5.2 安装JDK 124
5.3 安装Tomcat 125
5.4 设置Tomcat监听80端口 127
5.5 Tomcat虚拟主机 127
5.5.1 设置Tomcat虚拟主机 127
5.5.2 部署一个Java项目 128
5.6 Tomcat日志 130
第6章 Linux集群架构 131
6.1 Linux集群概述 131
6.2 Keepalived简介 131
6.3 Keepalived设置高可用集群 132
6.3.1 集群准备工作 132
6.3.2 设置Keepalived主服务器 132
6.3.3 设置Keepalived从服务器 134
6.3.4 区分主从Nginx服务 136
6.3.5 测试Keepalived高可用 137
6.4 负载均衡集群介绍 138
6.5 LVS介绍 139
6.6 LVS的调度算法 139
6.7 NAT模式的LVS搭建 140
6.7.1 NAT模式搭建准备工作 140
6.7.2 设置分发器 141
6.7.3 Real Server安装Nginx服务 142
6.8 DR模式的LVS搭建 143
6.8.1 DR模式的准备工作 143
6.8.2 设置LVS的DR模式 143
6.8.3 测试LVS的DR模式 145
6.9 Keepalived+LVS 145
第7章 Zabbix运维监控 149
7.1 Linux监控平台简介 149
7.2 Zabbix监控介绍 149
7.3 安装Zabbix监控 150
7.3.1 安装准备工作 150
7.3.2 ntpdate设置时间同步 151
7.3.3 安装Zabbix服务器端 151
7.3.4 Web界面安装Zabbix 153
7.3.5 修改Admin管理员密码 155
7.3.6 重置Admin管理员密码 155
7.3.7 安装Zabbix客户端 155
7.4 添加监控主机 156
7.4.1 Web界面添加Host主机 156
7.4.2 解决Zabbix页面乱码 158
7.5 使用SMTP发送邮件报警及定制报警 159
7.5.1 添加Triggers触发器 159
7.5.2 设置报警邮件发送 160
7.5.3 设置报警邮件接收 161
7.5.4 添加报警动作 163
7.5.5 设置邮件报警铃声 163
7.5.6 设置微信报警 164
7.6 Web监控和MySQL监控 170
7.6.1 Web监控 170
7.6.2 MySQL监控 172
7.7 TCP状态监控和Nginx监控 177
7.7.1 TCP状态监控 177
7.7.2 Nginx服务监控 178
7.8 Zabbix主动模式 179
7.8.1 添加主动模式模板 179
7.8.2 添加主动模式主机 181
第8章 NoSQL非关系型数据库 182
8.1 NoSQL非关系型数据库简介 182
8.2 Memcached 183
8.2.1 Memcached简介 183
8.2.2 安装Memcached 184
8.2.3 查看Memcached状态 185
8.2.4 Memcache命令行 186
8.2.5 Memcached数据的导入和导出 188
8.2.6 PHP连接Memcached 189
8.2.7 Memcached中存储Session 190
8.3 Redis 191
8.3.1 Redis简介 191
8.3.2 Redis安装 191
8.3.3 Redis持久化 192
8.3.4 Redis数据类型 193
8.3.5 Redis常用操作 197
8.3.6 Redis操作键值 203
8.3.7 Redis安全设置 206
8.3.8 Redis慢查询日志 207
8.3.9 PHP安装Redis扩展模块 208
8.3.10 Redis存储session 208
8.3.11 Redis主从配置 209
8.3.12 Redis集群简介 210
8.3.13 Redis集群搭建与配置 211
8.3.14 Redis集群操作 213
8.4 MongoDB 214
8.4.1 MongoDB简介 214
8.4.2 安装MongoDB 215
8.4.3 连接MongoDB 216
8.4.4 MongoDB用户管理 216
8.4.5 MongoDB创建集合和数据管理 219
8.4.6 PHP的MongoDB扩展 221
8.4.7 PHP的Mongo扩展 222
8.4.8 测试Mongo扩展 222
8.4.9 MongoDB副本集简介 223
8.4.10 MongoDB副本集搭建 223
8.4.11 MongoDB副本集测试 224
8.4.12 MongoDB分片介绍 226
8.4.13 MongoDB分片重要角色 227
8.4.14 MongoDB分片搭建 228
8.4.15 MongoDB分片测试 232
8.4.16 MongoDB备份与恢复 233
第9章 Jenkins持续化集成 236
9.1 Jenkins介绍 236
9.2 Jenkins安装 237
9.3 Jenkins发布PHP代码 239
9.4 Jenkins邮件设置 243
9.5 插件Email-ext 244
9.6 管理员密码破解 245
9.7 部署Java项目 246
9.7.1 部署Java项目之创建私有仓库 246
9.7.2 部署Java项目之下载Zrlog源码 247
9.7.3 安装Tomcat 248
9.7.4 部署Java项目之安装Maven 249
9.7.5 部署Java项目之安装插件 250
9.7.6 部署Java项目之构建Job 250
9.7.7 部署Java项目之手动安装JDK 253
9.7.8 部署Java项目之发布War包 253
第10章 Docker容器实践 255
10.1 Docker简介 255
10.1.1 Docker主要解决什么问题 255
10.1.2 Docker的历史 255
10.1.3 Docker是什么 256
10.2 Docker和KVM对比 257
10.3 Docker核心概念 257
10.4 安装Docker 257
10.4.1 Mac系统安装Docker 258
10.4.2 Windows系统安装Docker 260
10.4.3 CentOS 7系统安装Docker 261
10.5 Docker镜像管理 262
10.5.1 下载Docker镜像 262
10.5.2 设置阿里云Docker加速器 262
10.5.3 Docker基本命令 263
10.6 通过容器创建镜像 265
10.7 通过模板创建镜像 267
10.7.1 通过模板导入镜像 267
10.7.2 通过镜像导出文件 267
10.7.3 通过文件恢复镜像 267
10.8 Docker的基本管理 268
10.8.1 Docker容器管理 268
10.8.2 Docker仓库管理 270
10.8.3 Docker数据管理 272
10.9 Docker数据卷备份与恢复 273
10.9.1 Docker数据卷备份 273
10.9.2 Docker数据卷恢复 274
10.10 Docker网络模式与外部访问容器 274
10.10.1 Docker网络模式 274
10.10.2 外部访问容器 275
10.10.3 Operation Not Permitted解决方案 275
10.11 设置桥接网络 276
10.12 DockerFile创建镜像 278
10.12.1 DockerFile格式 278
10.12.2 DockerFile示例安装Nginx 280
10.13 docker compose部署服务与示例 281
第11章 搭建Kubernetes集群 284
11.1 Kubernetes(K8S)简介 284
11.2 Kubernetes基本概念 286
11.3 Kubernetes架构和组件功能 287
11.3.1 Master组件功能介绍 287
11.3.2 Node组件功能介绍 287
11.3.3 三方组件Etcd介绍 288
11.4 Kubernetes Cluster部署 288
11.4.1 集群环境规划 288
11.4.2 安装Docker服务 289
11.4.3 自签TLS证书 289
11.4.4 部署Etcd集群 291
11.4.5 Flannel集群网络工作原理 295
11.4.6 部署Flannel集群网络 296
11.4.7 创建Node的Kubeconfig文件 300
11.4.8 部署Master节点组件 302
11.4.9 部署Node组件 304
11.4.10 集群部署Nginx服务 306
11.5 Kubectl管理工具 309
11.5.1 Kubectl管理工具远程连接集群 309
11.5.2 Kubectl管理命令 311
11.5.3 Kubectl工具管理集群应用 312
第12章 Kubernetes管理维护与运用 320
12.1 YAML配置文件管理资源 320
12.2 Pod管理 322
12.2.1 Pod基本管理 322
12.2.2 Pod资源限制 325
12.2.3 Pod调度约束 327
12.2.4 Pod重启策略 329
12.2.5 Pod健康检查 329
12.2.6 Pod问题定位 332
12.3 Service 332
12.3.1 网络代理模式 332
12.3.2 服务代理 334
12.3.3 服务发现 337
12.3.4 发布服务 341
12.4 Ingress 343
12.4.1 部署Ingress 344
12.4.2 HTTP与HTTPS测试 345
12.4.3 部署Ingress TLS 348
12.5 数据管理 351
12.5.1 emptyDir 351
12.5.2 hostPath 353
12.5.3 NFS 355
12.5.4 GlusterFS 357
12.5.5 PersistentVolume 363
第13章 Kubernetes高可用架构和项目案例 371
13.1 Kubernetes Dashboard 371
13.2 部署集群应用 373
13.3 Kubernetes高可用架构 381
13.3.1 高可用架构详解 381
13.3.2 Master高可用部署 383
13.4 Kubernetes集群监控 388
13.5 Kubernetes集群日志管理与应用 395
13.5.1 日志系统方案介绍 395
13.5.2 部署ELK Stack 397
13.5.3 部署Filebeat日志收集工具 401

读者评论

  • 书里说的QQ群账号是多少

    jason369发表于 2023/5/10 15:17:58
  • 本书提到的QQ群账号是多少

    任仁发表于 2019/12/22 9:16:27

下载资源

电子书版本

  • Epub

相关图书

高可靠系统构建指南:服务稳定性建设与技术债务治理

本书以服务稳定性建设与技术债务治理为主线,深度剖析 Java 服务全生命周期中的关键问题与解决方案,通过“问题诊断-治理框架-实践落地”的三层递进结构,构建了覆...

 

算法训练营:进阶篇(全彩版)

《算法训练营:进阶篇(全彩版)》图文并茂、通俗易懂,详细讲解数据结构和算法进阶知识,并融入大量的竞赛实例和解题技巧,可帮助读者领悟数据结构和算法的精髓,并熟练应...

 

算法训练营:入门篇(全彩版)

本书图文并茂、通俗易懂,详细讲解常用的算法知识,又融入了大量的竞赛实例和解题技巧,可帮助读者熟练应用各种算法解决实际问题。 本书总计9章。第1章讲解C++基础...

 

亿级流量系统架构设计与实战

李琛轩 (作者)

本书涵盖了亿级用户应用后台通用的技术和系统架构设计思路,在内容结构上分为三大篇:架构知识篇(第1~3章),作为全书的基础知识篇,首先介绍后台的关键组件构成以及机...

 

算法笔记(第2版)

刁瑞 谢妍 (作者)

ChatGPT掀起了现象级的风暴,赶超ChatGPT潮流,算法突破是关键。 本书介绍了若干常见算法,涉及排序、哈希、动态规划与近似算法、高斯消去法、图论与线性...

 

看漫画学Python:有趣、有料、好玩、好用(全彩修订版)

关东升 著 赵大羽 绘 (作者)

ython是一门既简单又强大的编程语言,被广泛应用于数据分析、大数据、网络爬虫、自动化运维、科学计算和人工智能等领域。Python也越来越重要,成为国家计算机等...