第1章 Linux简介与安装 1
1.1 Linux简介 1
1.1.1 自由软件与Linux 1
1.1.2 Linux系统的特点和组成 2
1.1.3 Linux的内核版本与发行版本 3
1.1.4 Red Hat Linux及其相关产品 4
1.2 安装Linux 5
1.2.1 准备安装Linux 5
1.2.2 最小化安装CentOS 6.5 6
1.3 初入Linux 14
1.3.1 虚拟控制台和本地登录 14
1.3.2 远程登录Linux系统 15
1.3.3 安装后的基本配置 16
1.3.4 系统运行级别与关机 18
1.4 思考与实验 20
第2章 Linux操作基础 21
2.1 Shell和命令基础 21
2.1.1 Shell简介 21
2.1.2 命令格式和通配符 23
2.1.3 文件及Linux目录结构 24
2.1.4 获得命令帮助 29
2.2 Linux常用操作命令 30
2.2.1 文件目录操作命令 30
2.2.2 打包和压缩命令 32
2.2.3 文本文件操作命令 33
2.2.4 信息显示命令 35
2.2.5 文本编辑器Vi 37
2.3 使用Shell 41
2.3.1 Shell变量和Shell环境 41
2.3.2 几种提高工作效率的方法 46
2.3.3 进一步使用Shell 48
2.4 思考与实验 52
第3章 多用户多任务管理 54
3.1 账户管理 54
3.1.1 账户管理概述 54
3.1.2 使用命令行工具管理账户 57
3.1.3 口令管理和口令时效 57
3.1.4 用户和组状态 60
3.2 权限管理 62
3.2.1 操作权限概述 62
3.2.2 更改操作权限 64
3.2.3 更改属主和同组人 66
3.2.4 设置文件和目录的生成掩码 66
3.2.5 特殊权限设置 67
3.2.6 使用ACL权限 69
3.2.7 权限设置举例 71
3.3 进程管理 72
3.3.1 进程概述 72
3.3.2 查看进程 74
3.3.3 杀死进程 76
3.3.4 作业控制 78
3.4 思考与实验 80
第4章 网络配置与包管理 82
4.1 Linux网络配置 82
4.1.1 Linux网络基础 82
4.1.2 临时性网络配置 84
4.1.3 永久性网络配置 88
4.2 Linux网络工具 91
4.2.1 网络测试工具 91
4.2.2 Internet网络客户 92
4.2.3 OpenSSH客户 97
4.3 RPM包管理 98
4.3.1 RPM概述 98
4.3.2 RPM命令的使用 99
4.4 YUM更新系统 101
4.4.1 YUM概述 101
4.4.2 使用yum命令 103
4.4.3 YUM配置文件 105
4.4.4 配置YUM仓库 106
4.4.5 配置非官方YUM仓库 109
4.5 思考与实验 111
第5章 基础架构服务 113
5.1 守护进程 113
5.1.1 守护进程的概念 113
5.1.2 守护进程管理工具 114
5.2 计划任务服务(crond) 117
5.2.1 计划任务简介 117
5.2.2 安排计划任务 121
5.3 系统日志服务(rsyslogd) 124
5.3.1 日志系统 124
5.3 2查看日志文件 127
5.3.3 日志工具 129
5.4 缓存与代理服务 133
5.4.1 DNS缓存服务(Dnsmasq) 133
5.4.2 HTTP缓存服务(Polipo) 140
5.5 思考与实验 141
第6章 服务器安全基础 143
6.1 系统安全 143
6.1.1 基本的系统安全 143
6.1.2 禁止root账号登录 145
6.1.3 口令策略与口令安全 148
6.2 OpenSSH 153
6.2.1 SSH与OpenSSH 153
6.2.2 配置OpenSSH服务 155
6.2.3 OpenSSH的主机密钥管理 157
6.2.4 OpenSSH的用户密钥管理 157
6.3 OpenSSL 160
6.3.1 SSL/TLS 160
6.3.2 OpenSSL项目 162
6.3.3 密钥和证书管理 164
6.4 TCP Wrappers与防火墙 169
6.4.1 TCP Wrappers 169
6.4.2 防火墙 171
6.5 思考与实验 173
第7章 Apache基础 175
7.1 WWW与Apache 175
7.1.1 WWW和Web服务 175
7.1.2 Apache简介 176
7.1.3 CentOS下的Apache 178
7.2 Apache配置基础 179
7.2.1 Apache的配置文件 179
7.2.2 Apache的模块 180
7.2.3 Apache的基本配置指令 180
7.2.4 Apache的配置容器和指令作用域 182
7.3 Apache的基本配置 184
7.3.1 主机访问控制和别名机制 184
7.3.2 认证授权 188
7.4 Apache的虚拟主机 191
7.4.1 虚拟主机简介 191
7.4.2 配置基于IP的虚拟主机 193
7.4.3 配置基于域名的虚拟主机 195
7.5 Apache的安全配置 198
7.5.1 基于SSL的Apache 198
7.5.2 Apache的安全模块 204
7.6 思考与实验 205
第8章 Nginx基础 207
8.1 选用Nginx 207
8.1.1 Nginx简介 207
8.1.2 CentOS下的Nginx 208
8.2 Nginx配置基础 209
8.2.1 Nginx的配置文件 209
8.2.2 Nginx的模块 210
8.3 Nginx的基本配置 211
8.3.1 Nginx的全局配置 211
8.3.2 Nginx的HTTP配置 212
8.3.3 Nginx的虚拟主机配置 218
8.3.4 Nginx的虚拟主机配置举例 222
8.3.5 URI匹配配置 224
8.3.6 Nginx配置举例 227
8.4 Nginx的安全配置 231
8.4.1 基于SSL的Nginx 231
8.4.2 Nginx的连接限制 234
8.5 思考与实验 236
第9章 Apache进阶 237
9.1 Web编程语言与数据库 237
9.1.1 Web编程语言简介 237
9.1.2 关系数据库系统 238
9.1.3 键值缓存系统 242
9.2 Apache与CGI 244
9.2.1 CGI技术 244
9.2.2 Apache的CGI配置 245
9.2.3 访问日志分析统计 247
9.3 LAMP配置及应用 251
9.3.1 Apache与LAMP环境 251
9.3.2 安装配置LAMP环境 253
9.3.3 LAMP的应用举例 257
9.4 思考与实验 262
第10章 Nginx进阶 263
10.1 Nginx与FastCGI 263
10.1.1 FastCGI技术 263
10.1.2 PHP-FPM 264
10.1.3 Nginx的FastCGI配置 270
10.1.4 Nginx的FastCGI缓存 278
10.2 Nginx与反向代理 282
10.2.1 反向代理技术 282
10.2.2 Tomcat服务 284
10.2.3 Ngmx的反向代理配置 288
10.3 Nginx与负载均衡 291
10.3.1 负载均衡技术 291
10.3.2 配置Nginx的负载均衡 293
10.4 思考与实验 295
第11章 性能监控与优化 296
11.1 监视系统性能 296
11.1.1 系统监视概述 296
11.1.2 top命令 296
11.1.3 mpstat命令 299
11.1.4 vmstat命令 300
11.1.5 iostat命令 302
11.1.6 性能分析标准的经验准则 304
11.2 性能优化 304
11.2.1 管理Linux内核 304
11.2.2 性能调优 306
11.2.3 使用tmpfs文件系统 309
11.3 思考与实验 311
第12章 服务器日常维护 312
12.1 本地存储管理 312
12.1.1 本地存储管理简介 312
12.1.2 LVM相关概念 319
12.1.3 管理LVM 322
12.2 备份与同步 326
12.2.1 备份 326
12.2.2 实时同步 330
12.3 故障排查 331
12.3.1 故障排查概述 331
12.3.2 系统修复运行级别 333
12.3.3 系统援救环境 334
12.4 思考与实验 338
参考文献 340