标题：构建高可用Linux服务器
基本信息
  构建高可用Linux服务器作　　者：余洪春著
出 版 社：机械工业出版社
出版时间：2012-1-1
版　　次：1
印刷时间：2012-1-1
纸　　张：胶版纸
印　　次：1
I S B N：9787111360551
包　　装：平装
编辑推荐
基于实际生产环境，从Linux虚拟化、集群、服务器故障诊断与排除、系统安全性等多角度阐述构建高可用Linux服务器的最佳实践
资深Linux/Unix系统管理专家兼架构师多年一线工作经验结晶，51CTO和ChinaUnix等知名社区联袂推荐
内容简介
资深Linux/Unix系统管理专家兼架构师多年一线工作经验结晶，51CTO和ChinaUnix等知名社区联袂推荐。结合实际生产环境，从Linux虚拟化、集群、服务器故障诊断与排除、系统安全性等多角度阐述构建高可用Linux服务器的最佳实践。本书实践性非常强，包含大量企业级的应用案例及相应的解决方案，读者可以直接用这些方案解决在实际工作中遇到的问题。
全书一共10章。第1章以作者的项目实践为基础，以RHEL和Centos为平台，有针对性地讲解了构建高性能Linux服务器的应该掌握的核心知识，包括硬件、网络配置、日志管理、性能优化、监控等重要内容；第2章十分详尽地讲解了FreeBSD8.1在企业中的部署与应用，这是目前第一手关于FreeBSD8.1的宝贵资料；第3章讲解了Linux服务器的虚拟化，主要包括VMware和XEN两大虚拟机在Windows Server 2003和Centos系统下的使用方法和工作原理，同时还介绍了Citrix XenServer的使用方法；第4章探讨了生产环境下各种棘手的服务器故障的诊断与排除方法；第5章介绍了生产环境下的SHELL脚本，这些脚本都经过实践验证，读者可以直接在实际工作中使用；第6章首先讲解了构建高可用Linux集群的理论知识，然后以作者的实际项目为例详细演示了构建高可用Linux集群环境的方法（附有项目施工图）；最后还探讨了MySQL数据库性能优化方面的话题；第7章以理论与案例相结合的方式讲解了VPN在企业中的部署与应用，包括VPN技术的分类和选择、IPsec VPN的不足和OpenVPN的应用范畴、OpenVPN的部署案例和部署时的注意事项；第8章全面讲解了Linux防火墙及系统安全方面的内容，其中iptables相关的知识是重点，讲解非常详细，很多脚本都可以直接使用；第9章介绍了构建免费开源的企业级邮件系统的完整过程，这也来自于作者在实际工作中的实践；第10章针对系统管理员的学习、工作以及职业规划给出了一些宝贵的建议，对新人尤为有帮助。
作者简介
余洪春（网名“抚琴煮酒”） 
资深项目实施工程师、高级Linux/Unix系统管理员，从事CDN系统和电子商务网站的管理和运维7年多，在FreeBSD、VPN、SHELL脚本、Linux服务器虚拟化、高可用Linux集群建设、Linux服务器故障诊断与排除、Linux系统安全等方面有十分深入的研究，在大量的一线实践中积累了丰富的经验。资深系统架构师，精通负载均衡高可用技术，擅长证券类和电子商务类网站的架构。51CTO和ChinaUnix等知名社区的特邀专家，51CTO系统、安全、网络频道的专栏作家，ChinaUnix论坛“集群和高可用版”版主，在社区内发表了大量技术文章，深受网友欢迎。
目录
推荐序一
推荐序二
推荐序三
前言
第1章　Linux服务器构建基础/1
1.1　Linux服务器的安装方法/2
1.1.1　光盘安装Centos5.5 x86_64/2
1.1.2　使用PXE+DHCP+Apache+KickStart无人值守安装RHEL/12
1.1.3　Linux的其他安装方法/17
1.2　全面了解Linux服务器/18
1.2.1　查看Linux服务器的CPU详细情况/18
1.2.2　查看Linux服务器的内存使用情况/19
1.2.3　查看Linux服务器的硬盘使用情况/20
1.2.4　查看Linux系统的平均负载/24
1.2.5　查看Linux系统的其他参数?/25
1.3　Linux服务器的网络配置/28
1.3.1　配置Linux服务器的网络/28
1.3.2　查看Linux服务器的网络连接/31
1.3.3　查看Linux服务器的进程/39
1.3.4　在Centos5.5、FreeBSD8.1及Windows下添加静态路由/43
1.4　Linux服务器的日志管理/45
1.4.1　系统日志syslog.conf的配置详解/46
1.4.2　Linux下的日志维护技巧/47
1.4.3　用shell脚本分析Nginx日志/51
1.5　Linux服务器的优化/53
1.5.1　根据服务器应用来选购服务器/54
1.5.2　Centos5.5最小化安装后的优化/58
1.5.3　优化Linux下的内核TCP参数以提高系统性能/63
1.5.4　生产服务器应尽量选择编译安装软件包/65
1.6　用开源工具Nagios监控Linux服务器/66
1.6.1　Centos5.5下的监控工具简介/66
1.6.2　Nagios应该监控的服务器基础选项/67
1.6.3　Nagios监控Windows 2003时应注意的事项/67
1.6.4　用Nagios监控Nginx脚本/68
1.6.5　Nagios使用心得/74
1.7　项目实施中应该注意的事项/75
1.8　小结/77
第2章　FreeBSD8.1在企业中的部署应用/78
2.1　最小化安装FreeBSD8.1/79
2.2　最小化安装FreeBSD8.1后的升级优化部署/90
2.2.1　最小化安装FreeBSD8.1服务器后建议做的事/90
2.2.2　系统管理员应该知道的FreeBSD8.1的一些事项/95
2.2.3　在FreeBSD8.1下高效地安装和卸载软件/99
2.2.4　查看FreeBSD8.1的硬件配置/100
2.3　在FreeBSD8.1下部署jail虚拟机/103
2.3.1　FreeBSD8.1下的jail概述/103
2.3.2　FreeBSD8.1下安装jail的详细步骤/104
2.3.3　FreeBSD8.1下jail的管理/105
2.3.4　通过ezjail来创建和管理jail虚拟机/106
2.3.5　jail在生产环境下的注意事项/109
2.4　在FreeBSD8.1下搭建版本控制服务器/109
2.4.1　版本控制软件的概念/109
2.4.2　在FreeBSD8.1下搭建CVS服务器/109
2.4.3　在FreeBSD8.1下搭建SVN服务器/113
2.4.4　在FreeBSD8.1下搭建Git服务器/117
2.5　在FreeBSD8.1下搭建Samba文件服务器/121
2.5.1　Samba概述/121
2.5.2　在FreeBSD8.1下安装配置Samba3.4/121
2.5.3　Samba的详细语法配置/122
2.5.4　Samba在工作中的总结/124
2.5.5　Linux下的高级权限文件控制/125
2.5.6　Samba在企业开发环境中的常用案例之一/127
2.5.7　Samba在企业开发环境中的应用案例之二/128
2.6　在FreeBSD8.1下配置NFS文件服务器/131
2.7　在FreeBSD8.1与Centos5.5下搭建rsync服务器/134
2.7.1　rsync的概念/134
2.7.2　在Centos5.5下配置rsync服务器/134
2.7.3　在FreeBSD8.1下配置rsync服务器/138
2.7.4　rsync+Inotify实现数据的实时同步更新/140
2.8　在FreeBSD8.1下搭建vsftpd服务器/143
2.8.1　vsftpd服务器的特点/143
2.8.2　vsftpd的运行模式/144
2.8.3　vsftpd的数据连接模式/144
2.8.4　vsftpd到底安全在哪里/145
2.8.5　在FreeBSD8.1下配置vsftpd服务器/146
2.8.6　用vsftpd作Linux/Unix之间的异地备份/147
2.9　在FreeBSD8.1和Centos5.5下搭建PHP和Java应用环境/149
2.9.1　在FreeBSD8.1下搭建FAMP环境/149
2.9.2　在生产环境下配置LNMP环境/152
2.9.3　在Centos5.5下搭建Java运行环境/172
2.10　小结/176
第3章　Linux服务器虚拟化/177
3.1　在Windows Server 2003下安装VMware GSX Server/178
3.2　用Windows 2003+VMware Server搭建64位系统测试环境/181
3.3　在Centos5.6 x86_64下安装Xen虚拟机/183
3.3.1　XEN在Centos5.6 x86_64下的安装步骤/183
3.3.2　XEN虚拟机的优势/185
3.4　XEN在生产环境下的应用/185
3.4.1　XEN虚拟化的基本概念/185
3.4.2　在Centos5.5下安装XEN虚拟机/187
3.4.3　安装第一台虚拟机(模板机)/189
3.4.4　XEN寄宿服务器的管理/191
3.4.5　XEN在生产环境下的应用/194
3.5　Citrix XenServer5.6虚拟机试用手记/196
3.6　小结/202
第4章　生产环境下服务器的故障诊断与排除/203
4.1　快速排障的重要性和必要性/204
4.2　安装系统时容易发生的错误描述与处理方法/204
4.2.1　忘记了Centos5.5的root密码怎么办/204
4.2.2　正确重设root密码/206
4.2.3　安装FreeBSD8.1时不要设置/boot分区/207
4.2.4　Centos5.5的Grub引导程序出错/207
4.2.5　安装Centos5.5时忘了关闭iptables和SELinux/208
4.2.6　如何解决Putty或PieTTY的乱码问题/209
4.2.7　安装双系统时不小心删除了Grub所在的分区/209
4.3　网络配置时容易发生的错误描述与处理方法/211
4.3.1　安装Centos5.5时忘了激活网卡/211
4.3.2 　Centos5.5网卡文件备份的正确方法/212
4.3.3　解决远程桌面超出最大连接数的问题/213
4.3.4　在Centos5.5下如何正确配置网关/214
4.3.5　VMware的机器应该如何配置自动对时/214
4.3.6　防火墙初始化的注意事项/215
4.4　系统维护时的注意事项/215
4.4.1　尽量源码安装，谨慎操作yum/215
4.4.2　服务器硬件改动进入了Emergency模式/216
4.4.3　如何以普通用户的身份编辑无权限的文件/216
4.4.4　在Linux下配置最大文件打开数的方法/216
4.4.5　在Crontab下运行PHP程序的正确方法/218
4.4.6　在Crontab下正确防止脚本运行冲突/218
4.5　紧急处理线上服务器故障的办法/219
4.5.1　更改Administrator密码导致计划任务无法执行/219
4.5.2　FreeBSD8.1下的sudoer文件意外损坏/219
4.5.3　Centos5.5的root密码被恶意篡改/219
4.5.4　bash损坏该如何正确处理/220
4.5.5　正确操作nohup让程序始终在后台运行/221
4.5.6　负载均衡器出现故障/221
4.6　检查机房应注意的位置和细节问题/221
4.7　系统维护时应注意的非技术因素/222
4.8　小结/222
第5章　生产环境下的SHELL脚本/223
5.1　Vim的基础用法及进阶心得/224
5.2　Sed的基础用法及实用举例/228
5.2.1　Sed的基础语法格式/228
5.2.2　Sed的用法举例说明/230
5.3　基础正则表达式/235
5.4　Linux下强大的查找命令find/240
5.5　汇总Linux/Unix下的bash快捷键/248
5.6　生产环境下的SHELL脚本分类/249
5.6.1　生产环境下的SHELL脚本备份类/250
5.6.2　生产环境下的开发类SHELL脚本/257
5.6.3　生产环境下的统计类SHELL脚本/259
5.6.4　生产环境下的监控类SHELL脚本/262
5.6.5　生产环境下的自动化类SHELL脚本/265
5.6.6　生产环境下的安全类SHELL脚本/269
5.7　小结/272
第6章　构建高可用的Linux集群/273
6.1　负载均衡高可用的核心概念和常用软件/274
6.1.1　什么是负载均衡高可用/274
6.1.2　以F5 BIG-IP作为负载均衡器/275
6.1.3　以LVS作为负载均衡器/275
6.1.4　以Nginx作为负载均衡器/281
6.1.5　以HAProxy作为负载均衡器/281
6.1.6　高可用软件Keepalived/283
6.1.7　高可用软件Heartbeat/283
6.1.8　高可用块设备DRBD/284
6.2　负载均衡中的名词解释/285
6.2.1　什么是Session/285
6.2.2　什么是Session共享及实现的方法/285
6.2.3　什么是会话保持/286
6.3　负载均衡器的会话保持机制/287
6.3.1　F5 Big-IP的会话保持机制/287
6.3.2　LVS的会话保持机制/288
6.4　Linux集群的项目案例分享/299
6.4.1　项目案例一：用Nginx+Keepalived实现在线票务系统/299
6.4.2　项目案例二：企业级Web负载均衡高可用之Nginx+Keepalived/302
6.4.3　项目案例四：用LVS+Keepalived构建高可用JSP集群/313
6.4.4　项目案例五：生产环境下的高可用NFS文件服务器/322
6.4.5　项目案例六：HAProxy双机高可用方案之HAProxy+Heartbeat/331
6.5　项目实践中Linux集群的总结和思考/336
6.6　网站架构应关注和研究的方向/338
6.7　MySQL数据库的优化/339
6.7.1　服务器物理硬件的优化/339
6.7.2　MySQL应该采用编译安装的方法/340
6.7.3　MySQL配置文件的优化/340
6.7.4　MySQL上线后根据status状态进行适当优化/346
6.7.5　MySQL数据库的可扩展性架构方案/352
6.7.6　MySQL数据库的Replication高可用架构/352
6.7.7　MySQL Cluster集群配置方案/354
6.7.8　生产环境下的MySQL数据库主从Replication同步/360
6.7.9　可扩展性设计之数据切分/368
6.8　生产环境下的MySQL数据库备份/369
6.9　部分项目施工图纸/372
6.10　小结/374
第7章　VPN在企业中的部署应用/375
7.1　流行的VPN技术及其分类/376
7.2　如何选择自己需要的VPN/378
7.3　IPSec VPN的不足/378
7.4　OpenVPN的应用范畴/379
7.5　经典企业VPN部署案例/379
7.5.1　案例一：在Centos5.5 x86_64下单网卡配置PPTPD服务器/379
7.5.2　案例二：在Centos5.5 x86_64下路由模式配置OpenVPN服务器/386
7.5.3　案例三：在FreeBSD8 x86_64下网桥模式配置OpenVPN服务器/396
7.6　部署OpenVPN服务器的注意事项/402
7.6.1　OpenVPN如何注销用户/402
7.6.2　OpenVPN服务器的安全问题/403
7.6.3　OpenVPN服务器的负载均衡/404
7.7　小结/404
第8章　Linux防火墙及系统安全篇/405
8.1　基础网络知识/406
8.1.1　OSI网络参考模型/406
8.1.2　TCP/IP三次握手/四次挥手的过程详解/407
8.1.3　其他基础网络知识/409
8.2　Linux防火墙的概念/409
8.3　Linux防火墙在企业中的作用/410
8.4　Linux防火墙的语法/410
8.5　iptables的基础知识/414
8.5.1　iptables的状态state/414
8.5.2　iptables的Conntrack记录/416
8.5.3　关于iptables模块的说明/416
8.5.4　iptables防火墙初始化的注意事项/416
8.5.5　如何保存运行中的iptables规则/417
8.6　如何流程化编写iptables脚本/418
8.7　学习iptables应该掌握的工具/420
8.7.1　命令行的抓包工具TCPDump/420
8.7.2　图形化抓包工具Wireshark/421
8.7.3　强大的命令行扫描工具Nmap/424
8.7.4　安全工具hping/426
8.8　iptables的简单脚本学习/428
8.8.1　普通的Web主机防护脚本/429
8.8.2　如何让别人ping不到自己而自己能ping通别人/430
8.8.3　建立安全的vsftpd服务器/432
8.9　线上生产服务器的iptables脚本/436
8.9.1　安全的主机iptables防火墙脚本/437
8.9.2　自动分析黑名单及白名单的iptables脚本/439
8.9.3　利用recent模块限制同一IP的连接数/441
8.9.4　利用DenyHosts工具和脚本来防止SSH暴力破解/444
8.9.5　将iptables作为企业的NAT路由器/448
8.9.6　如何使用工具精确地监控NAT路由器/451
8.10　TCP_wrappers应用级防火墙的介绍和应用/458
8.11　工作中的Linux防火墙总结/460
8.12　Linux系统自身的安全防护/461
8.12.1　SELinux简介/461
8.12.2　SELinux的相关设置/461
8.13　Linux系统安全相关的工具/462
8.13.1　Rootkit检测工具Chkrootkit/462
8.13.2　文件系统完整性检查工具Tripwire/464
8.13.3　防恶意扫描软件PortSentry/470
8.14　Linux服务器基础防护篇/474
8.15　如何防止入侵/475
8.16　小结/476
第9章　如何构建开源免费的企业级邮件系统/477
9.1　DNS服务器的架设/478
9.1.1　邮件服务器与DNS的关系/478
9.1.2　如何架设内部DNS服务器/480
9.1.3　如何以源码方式安装公网DNS服务器/487
9.1.4　维护DNS服务器应该注意的事项/494
9.2　电子邮件的传输过程/496
9.3　如何搭建开发邮件服务器/498
9.3.1　搭建Sendmail+Dovecot邮件系统/498
9.3.2　搭建Postfix+Dovecot邮件系统/501
9.4　搭建iRedmail企业级邮件服务器/504
9.4.1　iRedmail企业级邮件服务器的介绍/504
9.4.2　在Centos5.2 x86_64上安装iRedmail0.4.0/505
9.4.3　Postfix本身的防垃圾功能/508
9.4.4　iRedmail0.4.0特有的防垃圾技术/513
9.4.5　iRedmail0.4.0是如何利用ClamAV防病毒的/517
9.4.6　iRedmail0.4.0邮件服务器的网络安全/517
9.4.7　iRedmail0.4.0邮件服务器系统的监控/520
9.4.8　iRedmail0.4.0的系统文件备份/522
9.4.9　iRedmail0.4.0的MySQL数据库备份方案/526
9.4.10　维护iRedmail0.4.0邮件服务器的一些注意事项/532
9.5　小结/533
第10章　系统管理员在企业中的职业定位及发展方向/534
10.1　系统管理员的概念和工作职责/535
10.2　系统管理员应该熟悉的系统/536
10.3　系统管理员应该熟悉的工具/540
10.4　Linux的学习及进阶之路/544
10.5　系统管理员应该如何工作/547
10.6　给Linux/Unix新人的建议/549
10.7　系统管理员之企业生存守则/550
10.8　小结/553
附录A　Xmanager 3.0企业版实用技巧集锦/554
附录B　使用Screen管理远程会话/564
附录C　自动化部署管理工具Puppet/566
附录D　漫谈CDN系统运维与电子商务运维/572