第1篇 基础知识
第1章 部署操作系统 2
1.1 光盘安装LINUX操作系统 2
1.1.1 操作系统版本的选择 2
1.1.2 光盘安装LINUX系统案例 2
1.2 无人职守自动安装LINUX操作系统 15
1.2.1 大规模部署案例 15
1.2.2 PXE简介 16
1.2.3 KICKSTART技术 17
1.2.4 配置安装服务器 18
1.2.5 自动化安装案例 19
1.3 常见问题分析 27
第2章 命令工具 30
2.1 基本命令 31
2.1.1 目录及文件的基本操作 31
2.1.2 查看文件内容 35
2.1.3 链接文件 37
2.1.4 压缩及解压 38
2.1.5 命令使用技巧 39
2.1.6 帮助 40
2.2 VIM文档编辑 42
2.2.1 Vim工作模式 42
2.2.2 Vim光标操作 43
2.2.3 Vim编辑文档 43
2.2.4 Vim查找与替换 44
2.2.5 Vim保存与退出 45
2.2.6 Vim小技巧 45
2.3 账户与安全 46
2.3.1 账户及组的概念 46
2.3.2 创建账户及组 46
2.3.3 修改账户及组 48
2.3.4 删除账户及组 49
2.3.5 账户与组文件解析 49
2.3.6 文件及目录权限 51
2.3.7 账户管理案例 53
2.3.8 ACL访问控制权限 54
2.4 存储管理 55
2.4.1 磁盘分区 56
2.4.2 格式化与挂载文件系统 60
2.4.3 LVM逻辑卷概述 62
2.4.4 创建LVM分区实例 64
2.4.5 修改LVM分区容量 68
2.4.6 删除LVM分区 69
2.4.7 RAID磁盘阵列概述 69
2.4.8 RAID级别 70
2.4.9 创建与管理软RAID实例 74
2.4.10 RAID性能测试 77
2.4.11 RAID故障模拟 78
2.5 软件管理 79
2.5.1 Linux常用软件包类型 79
2.5.2 RPM软件包管理 79
2.5.3 使用YUM安装软件包 81
2.5.4 YUM使用技巧 83
2.5.5 源码编译安装软件 84
2.5.6 常见问题分析 85
2.5.7 服务管理 86
2.6 计划任务 88
2.6.1 at一次性计划任务 88
2.6.2 cron周期性计划任务 89
2.6.3 计划任务权限 90
2.7 性能监控 90
2.7.1 监控CPU使用情况——uptime命令 90
2.7.2 监控内存及交换分区使用情况——free命令 91
2.7.3 监控磁盘使用情况——df命令 91
2.7.4 监控网络使用情况——ifconfig和netstat命令 92
2.7.5 监控进程使用情况——ps和top命令 94
2.8 网络配置 95
2.8.1 命令行设置网络参数 95
2.8.2 文件修改网络参数 97
2.8.3 网络故障排错 99
2.9 内核模块 101
2.9.1 内核模块存放位置 101
2.9.2 查看已加载内核模块 102
2.9.3 加载与卸载内核模块 102
2.9.4 修改内核参数 103
第3章 自动化运维 104
3.1 Shell简介 104
3.2 Bash功能介绍 105
3.2.1 命令历史 105
3.2.2 命令别名 105
3.2.3 管道与重定向 106
3.2.4 快捷键 107
3.3 Bash使用技巧 107
3.3.1 重定向技巧 107
3.3.2 命令序列使用技巧 108
3.3.3 作业控制技巧 108
3.3.4 花括号{}的使用技巧 109
3.4 变量 109
3.4.1 自定义变量 109
3.4.2 变量的使用范围 110
3.4.3 环境变量 111
3.4.4 位置变量 112
3.4.5 变量的展开替换 112
3.4.6 数组 113
3.4.7 算术运算与测试 114
3.5 Shell引号 116
3.5.1 反斜线 116
3.5.2 单引号 117
3.5.3 双引号 117
3.5.4 反引号 117
3.6 正则表达式 118
3.6.1 基本正则表达式(Regular Expression) 119
3.6.2 扩展正则表达式(Extended Regular Expression)122
3.6.3 POSIX规范 122
3.6.4 GNU规范 123
3.7 Sed 124
3.7.1 Sed简介 124
3.7.2 Sed基本语法格式 124
3.7.3 Sed入门范例 125
3.7.4 Sed指令与脚本 127
3.7.5 Sed高级应用 132
3.8 Awk 136
3.8.1 Awk简介 136
3.8.2 Awk工作流程 136
3.8.3 Awk基本语法格式 137
3.8.4 Awk操作指令 138
3.8.5 Awk高级应用 142
3.9 Shell脚本 145
3.9.1 脚本格式范例 146
3.9.2 运行脚本的方式 146
3.9.3 Shell脚本简单案例 147
3.9.4 判断语句应用 150
3.9.5 循环语句应用 154
3.9.6 控制语句应用 158
3.9.7 Shell函数应用 159
3.9.8 综合案例 162
3.9.9 图形脚本 166
第2篇 网络服务
第4章 搭建网络服务 170
4.1 NFS文件共享 170
4.1.1 NFS服务器配置 171
4.1.2 客户端访问NFS共享 173
4.1.3 NFS高级设置 174
4.1.4 常见问题分析 177
4.2 Samba文件共享 178
4.2.1 快速配置Samba服务器 178
4.2.2 访问Samba共享 180
4.2.3 配置文件详解 182
4.2.4 Samba应用案例 183
4.2.5 常见问题分析 186
4.3 vsftpd文件共享 187
4.3.1 FTP工作模式 188
4.3.2 安装与管理vsftpd 189
4.3.3 配置文件解析 189
4.3.4 账户权限 190
4.3.5 vsftpd应用案例 191
4.3.6 常见问题分析 195
4.4 ProFTPD文件共享 196
4.4.1 安装ProFTPD软件 196
4.4.2 配置文件解析 197
4.4.3 ProFTPD权限设置 198
4.4.4 虚拟用户应用案例 198
4.4.5 常见问题分析 202
4.5 Subversion版本控制 202
4.5.1 Subversion简介 202
4.5.2 Subversion服务器对比 204
4.5.3 安装Subversion软件 205
4.5.4 svnserve服务器搭建 205
4.5.5 svnserve+SSH服务器搭建 210
4.5.6 Apache+SVN服务器搭建 211
4.5.7 常见问题 213
4.6 网络存储服务器 214
4.6.1 iSCSI网络存储 215
4.6.2 Rsync文件同步 219
4.6.3 Rsync+Inotify实现文件自动同步 225
4.7 DHCP服务器 231
4.7.1 安装软件 231
4.7.2 配置文件解析 232
4.7.3 DHCP应用案例 233
4.7.4 常见问题分析 234
4.8 DNS域名服务器 235
4.8.1 DNS简介 235
4.8.2 安装DNS软件 237
4.8.3 配置文件解析 238
4.8.4 部署主域名服务器 241
4.8.5 部署从域名服务器 245
4.8.6 DNS视图应用案例 247
4.8.7 常见问题分析 249
4.9 Apache网站服务器 250
4.9.1 Apache简介 250
4.9.2 安装Apache软件 250
4.9.3 配置文件解析 252
4.9.4 虚拟主机应用案例 257
4.9.5 网站安全应用案例 259
4.9.6 常见问题分析 260
4.10 Nginx网站服务器 261
4.10.1 Nginx简介 261
4.10.2 安装Nginx软件 261
4.10.3 配置文件解析 264
4.10.4 虚拟主机应用案例 267
4.10.5 SSL网站应用案例 269
4.10.6 HTTP响应状态码 270
4.11 数据库基础 271
4.11.1 MySQL数据库简介 271
4.11.2 安装MySQL软件 272
4.11.3 MySQL管理工具 273
4.11.4 数据库定义语言 278
4.11.5 数据库操作语言 283
4.11.6 数据库查询语言 285
4.11.7 MySQL与安全 286
4.11.8 MySQL数据库备份与还原 289
4.12 动态网站架构案例 290
4.12.1 论坛系统应用案例 291
4.12.2 博客系统应用案例 297
第5章 系统监控 301
5.1 Cacti监控系统 301
5.1.1 简介 301
5.1.2 Cacti监控应用案例 302
5.2 Nagios监控系统 310
5.2.1 简介 310
5.2.2 Nagios监控应用案例 311
第6章 网络安全 323
6.1 iptables防火墙 323
6.1.1 iptables防火墙语法格式 324
6.1.2 iptables防火墙应用案例 327
6.1.3 防火墙备份与还原 330
6.2 SELinux简介 331
6.2.1 SELinux配置文件 331
6.2.2 SELinux软件包 332
6.2.3 SELinux安全上下文 333
6.2.4 SELinux排错 334
6.2.5 修改安全上下文 336
6.2.6 查看与修改布尔值 338
6.2.7 SELinux应用案例 339
6.2.8 httpd相关的SELinux安全策略 339
6.2.9 FTP相关的SELinux安全策略 340
6.2.10 MySQL相关的SELinux安全策略 341
6.2.11 NFS相关的SELinux安全策略 342
6.2.12 Samba相关的SELinux安全策略 343
6.3 OpenVPN 344
6.3.1 OpenVPN简介 344
6.3.2 安装OpenVPN服务 345
6.3.3 OpenVPN客户端 348
第3篇 高级应用
第7章 虚拟化技术 352
7.1 虚拟化产品对比 352
7.1.1 VMware虚拟化技术 353
7.1.2 Xen虚拟化技术 353
7.1.3 KVM虚拟化技术 354
7.2 KVM虚拟化应用案例 354
7.2.1 安装KVM组件 354
7.2.2 创建虚拟机操作系统 355
7.2.3 监控虚拟机操作系统 360
7.2.4 命令工具使用技巧 362
7.2.5 虚拟存储与虚拟网络 367
第8章 集群及高可用 377
8.1 集群 377
8.1.1 LVS负载均衡简介 377
8.1.2 基于NAT的LVS负载均衡 378
8.1.3 基于TUN的LVS负载均衡 379
8.1.4 基于DR的LVS负载均衡 380
8.1.5 LVS负载均衡调度算法 381
8.1.6 部署LVS服务 382
8.1.7 LVS负载均衡应用案例 385
8.1.8 常见问题分析 392
8.2 Keepalived双机热备 393
8.2.1 Keepalived简介 393
8.2.2 VRRP协议简介 394
8.2.3 安装Keepalived服务 394
8.2.4 配置文件解析 395
8.2.5 Keepalived+LVS应用案例 396
8.2.6 常见问题分析 404
8.3 Squid代理服务器 405
8.3.1 Squid简介 405
8.3.2 安装Squid服务 405
8.3.3 常见代理服务器类型 406
8.3.4 配置文件解析 407
8.3.5 Squid应用案例 408
8.4 HAProxy负载均衡 412
8.4.1 HAProxy简介 412
8.4.2 配置文件解析 413
8.4.3 HAProxy应用案例 416
8.5 Nginx高级应用 420
8.5.1 Nginx负载均衡 420
8.5.2 Nginx负载均衡案例 422
8.5.3 Nginx rewrite规则 425
8.6 MySQL高可用 429
8.6.1 MySQL复制 429
8.6.2 一步一步操作MySQL复制 430
· · · · · · (
收起)