前言
第1章 Linux服务器的构建与优化 1
1.1 使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS 5.8 x86_64 1
1.2 全面了解Linux服务器 9
1.2.1 查看Linux服务器的CPU详细情况 10
1.2.2 查看Linux服务器的内存使用情况 10
1.2.3 查看Linux服务器的硬盘使用情况 12
1.2.4 查看Linux系统的平均负载 15
1.2.5 查看Linux系统的其他参数 16
1.3 Linux服务器的网络配置 19
1.3.1 配置Linux服务器的网络 20
1.3.2 查看Linux服务器的网络连接 22
1.3.3 查看Linux服务器的进程 32
1.3.4 在CentOS 5.8、FreeBSD 8.1及Windows下添加静态路由 39
1.4 Linux服务器的日志管理 41
1.4.1 系统日志syslog.conf的配置详解 41
1.4.2 Linux下的日志维护技巧 43
1.5 Linux服务器的优化 49
1.5.1 如何根据服务器应用来选购服务器 49
1.5.2 CentOS 5.8最小化安装后的优化 54
1.5.3 优化Linux下的内核TCP参数以提高系统性能 57
1.6 用开源工具Nagios监控Linux服务器 60
1.6.1 CentOS 5.8下的监控工具 60
1.6.2 Nagios应该监控的服务器基础选项 60
1.6.3 工作中的Nagios使用心得 61
1.7 小结 62
第2章 生产环境下服务器的故障诊断与排除 63
2.1 快速排障的重要性和必要性 63
2.2 安装系统时容易发生的错误描述与处理方法 63
2.2.1 忘记CentOS 5.8的root密码怎么办 63
2.2.2 正确重设root密码 65
2.2.3 安装FreeBSD 8.1时不要设置/boot分区 66
2.2.4 安装CentOS 5.8时忘了关闭iptalbes和SELinux 67
2.3 网络配置时容易发生的错误描述与处理方法 68
2.3.1 安装CentOS 5.8时忘了激活网卡 68
2.3.2 CentOS 5.8网卡文件备份的正确方法 69
2.3.3 在CentOS 5.8下如何正确配置网关 70
2.3.4 防火墙初始化的注意事项 71
2.4 系统维护时应该注意的地方 71
2.4.1 服务器硬件改动进入了Emergency模式 71
2.4.2 如何以普通用户的身份编辑无权限的文件 72
2.4.3 在Linux下配置最大文件打开数的方法 72
2.4.4 在crontab下正确防止脚本运行冲突 74
2.5 紧急处理线上服务器故障的办法 74
2.5.1 更改Administrator密码导致计划任务无法执行 74
2.5.2 CentOS 5.8的root密码被恶意篡改 75
2.5.3 bash文件损坏该如何正确处理 75
2.5.4 正确操作nohup让程序始终在后台运行 76
2.5.5 Nginx负载均衡器出现故障 76
2.6 检查机房应注意的位置和细节问题 77
2.7 系统维护时应注意的非技术因素 77
2.8 小结 78
第3章 生产环境下的Shell脚本 79
3.1 Vim的基础用法及进阶心得 80
3.2 Sed的基础用法及实用举例 83
3.2.1 Sed的基础语法格式 84
3.2.2 Sed的用法举例说明 86
3.3 基础正则表达式 91
3.4 Linux下强大的查找命令find 96
3.5 汇总Linux/UNIX下的bash快捷键 105
3.6 生产环境下的Shell脚本分类 107
3.6.1 生产环境下的Shell脚本备份类 107
3.6.2 生产环境下的开发类Shell脚本 115
3.6.3 生产环境下的统计类Shell脚本 116
3.6.4 生产环境下的监控类Shell脚本 119
3.6.5 生产环境下的自动化类Shell脚本 124
3.7 小结 127
第4章 构建高可用的Linux集群 128
4.1 负载均衡高可用的核心概念和常用软件 128
4.1.1 什么是负载均衡高可用 128
4.1.2 以F5 BIG-IP作为负载均衡器 129
4.1.3 以LVS作为负载均衡器 130
4.1.4 以Nginx作为负载均衡器 136
4.1.5 以HAProxy作为负载均衡器 137
4.1.6 高可用软件Keepalived 139
4.1.7 高可用软件Heartbeat 139
4.1.8 高可用块设备DRBD 140
4.2 负载均衡中的名词解释 141
4.2.1 什么是Session 141
4.2.2 什么是Session共享及实现的方法 141
4.2.3 什么是会话保持 142
4.3 负载均衡器的会话保持机制 143
4.3.1 F5 Big-IP的会话保持机制 143
4.3.2 LVS的会话保持机制 145
4.3.3 Nginx的会话保持机制 148
4.3.4 HAProxy的会话保持机制 148
4.4 Linux集群的项目案例分享 156
4.4.1 项目案例一:用Nginx+Keepalived实现在线票务系统 156
4.4.2 项目案例二:企业级Web负载均衡高可用之Nginx+Keepalived 163
4.4.3 项目案例三:用LVS+Keepalived构建高可用JSP集群 175
4.4.4 项目案例四:Nginx主主负载均衡架构 183
4.4.5 项目案例五:生产环境下的高可用NFS文件服务器 189
4.4.6 项目案例六:HAProxy双机高可用方案之HAProxy+Keepalived 198
4.4.7 项目案例七:百万级PV高可用网站架构设计 204
4.4.8 项目案例八:千万级PV高性能高并发网站架构设计 207
4.5 软件级负载均衡器的特点对比 210
4.6 项目实践中Linux集群的总结和思考 212
4.7 细分五层解说网站架构 214
4.8 网站架构应关注和研究的方向 216
4.9 部分项目施工图纸 218
4.10 小结 220
第5章 MySQL性能调优及高可用案例分享 221
5.1 MySQL数据库的优化 221
5.1.1 服务器物理硬件的优化 221
5.1.2 线上环境中MySQL应该采用的编译安装方法 222
5.1.3 MySQL配置文件的优化 223
5.1.4 MySQL上线后根据status状态进行适当优化 227
5.2 MySQL数据库的高可用架构方案 239
5.2.1 生产环境下的MySQL数据库主从Replication同步 240
5.2.2 生产环境下的DRBD+Heartbeat+MySQL双机高可用 250
5.2.3 利用MySQL Proxy 0.8.2实现数据的读写分离 262
5.3 利用sysbench对磁盘I/O作性能测试 268
5.4 生产环境下的MySQL数据库备份 272
5.5 小结 275
第6章 分布式自动化部署管理工具puppet 276
6.1 puppet的基本概念及工作流程 276
6.2 安装puppet前的准备工作 279
6.3 puppet的详细安装步骤 279
6.4 puppet简单的文件应用 283
6.5 puppet的进阶操作 289
6.5.1 如何同步puppet-agent端上的常用服务 290
6.5.2 如何在puppet-agent上自动安装常用的软件包 290
6.5.3 如何自动同步puppet服务器端的目录文件 291
6.5.4 如何根据不同的puppet-agent名推送不同的文件 292
6.5.5 如何在puppet-agent端自动执行Shell脚本 295
6.5.6 如何快速同步puppet服务器端的目录文件 297
6.5.7 ERB模板来自动配置Apache虚拟主机 301
6.6 puppet利用Nginx多端口实现负载均衡 303
6.7 puppet配置文件的管理 308
6.8 小结 308
第7章 开源VPN软件在企业中的应用 309
7.1 流行的VPN技术及其分类 309
7.2 如何选择自己需要的VPN 311
7.3 PPTPD VPN在企业中的部署应用 312
7.4 OpenVPN VPN在企业中的部署应用 313
7.4.1 案例一:在CentOS 5.8下路由模式配置OpenVPN服务器 313
7.4.2 案例二:在FreeBSD 8下网桥模式配置OpenVPN服务器 324
7.5 部署OpenVPN服务器的注意事项 331
7.5.1 OpenVPN如何注销用户 331
7.5.2 OpenVPN服务器的安全问题 332
7.6 OpenVPN VPN软件的应用范畴 333
7.7 小结 333
第8章 Linux防火墙及系统安全 334
8.1 基础网络知识 334
8.1.1 OSI网络参考模型 334
8.1.2 TCP/IP中三次握手及四次挥手的过程详解 335
8.1.3 其他基础网络知识 337
8.2 Linux防火墙的概念 337
8.3 Linux防火墙在企业中的作用 338
8.4 Linux防火墙的语法 339
8.5 iptables基础知识 343
8.5.1 iptables的状态 343
8.5.2 iptables的Conntrack记录 345
8.5.3 关于iptables模块的说明 346
8.5.4 iptables防火墙初始化的注意事项 346
8.5.5 如何保存运行中的iptables规则 346
8.6 如何流程化编写iptables脚本 347
8.7 学习iptables应该掌握的工具 350
8.7.1 命令行的抓包工具TCPDump 350
8.7.2 图形化抓包工具Wireshark 351
8.7.3 强大的命令行扫描工具Nmap 354
8.8 iptables的简单脚本学习 356
8.8.1 普通的Web主机防护脚本 357
8.8.2 如何让别人ping通自己而自己也能ping通别人 358
8.8.3 建立安全vsftpd服务器 360
8.9 线上生产服务器的iptables脚本 364
8.9.1 安全的主机iptables防火墙脚本 365
8.9.2 自动分析黑名单及白名单的iptables脚本 366
8.9.3 利用recent模块限制同一IP的连接数 369
8.9.4 利用DenyHosts工具和脚本来防止SSH暴力破解 371
8.10 TCP_wrappers应用级防火墙的介绍和应用 378
8.11 系统运维工作中的Linux防火墙总结 380
8.12 Linux系统自身的安全防护 381
8.12.1 SELinux简介 381
8.12.2 SELinux的相关设置 381
8.13 Linux系统安全相关的工具 382
8.13.1 Rootkit检测工具Chkrootkit 383
8.13.2 文件系统完整性检查工具Tripwire 385
8.13.3 防恶意扫描软件PortSentry 390
8.14 Linux服务器基础防护篇 396
8.15 如何防止入侵 397
8.16 小结 398
附录A Xmanager 3.0企业版实用技巧集锦 399
附录B 使用Screen管理远程会话 407
附录C 在CentOS 5.8 x86_64下安装及管理Xen虚拟机 410
附录D 在CentOS 5.8下配置rsync服务器 415
· · · · · · (
收起)