第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
· · · · · · (
收起)