构建高可用Linux服务器

构建高可用Linux服务器
作 者: 余洪春
出版社: 机械工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: LINUX
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  余洪春(网名“抚琴煮酒”) 资深项目实施工程师、高级Linux/Unix系统管理员,从事CDN系统和电子商务网站的管理和运维7年多,在FreeBSD、VPN、SHELL脚本、Linux服务器虚拟化、高可用Linux集群建设、Linux服务器故障诊断与排除、Linux系统安全等方面有十分深入的研究,在大量的一线实践中积累了丰富的经验。资深系统架构师,精通负载均衡高可用技术,擅长证券类和电子商务类网站的架构。51CTO和ChinaUnix等知名社区的特邀专家,51CTO系统、安全、网络频道的专栏作家,ChinaUnix论坛“集群和高可用版”版主,在社区内发表了大量技术文章,深受网友欢迎。51CTO博客:http://andrewyu.blog.51cto.com/ChinaUnix博客:http://blogold.chinaunix.net/u4/123104/

内容简介

资深Linux/Unix系统管理专家兼架构师多年一线工作经验结晶,51CTO和ChinaUnix等知名社区联袂推荐。结合实际生产环境,从Linux虚拟化、集群、服务器故障诊断与排除、系统安全性等多角度阐述构建高可用Linux服务器的最佳实践。本书实践性非常强,包含大量企业级的应用案例及相应的解决方案,读者可以直接用这些方案解决在实际工作中遇到的问题。全书一共10章。第1章以作者的项目实践为基础,以RHEL和Centos为平台,有针对性地讲解了构建高性能Linux服务器的应该掌握的核心知识,包括硬件、网络配置、日志管理、性能优化、监控等重要内容;第2章十分详尽地讲解了FreeBSD8.1在企业中的部署与应用,这是目前第一手关于FreeBSD8.1的宝贵资料;第3章讲解了Linux服务器的虚拟化,主要包括VMware和XEN两大虚拟机在WindowsServer 2003和Centos系统下的使用方法和工作原理,同时还介绍了CitrixXenServer的使用方法;第4章探讨了生产环境下各种棘手的服务器故障的诊断与排除方法;第5章介绍了生产环境下的SHELL脚本,这些脚本都经过实践验证,读者可以直接在实际工作中使用;第6章首先讲解了构建高可用Linux集群的理论知识,然后以作者的实际项目为例详细演示了构建高可用Linux集群环境的方法(附有项目施工图);最后还探讨了MySQL数据库性能优化方面的话题;第7章以理论与案例相结合的方式讲解了VPN在企业中的部署与应用,包括VPN技术的分类和选择、IPsecVPN的不足和OpenVPN的应用范畴、OpenVPN的部署案例和部署时的注意事项;第8章全面讲解了Linux防火墙及系统安全方面的内容,其中iptables相关的知识是重点,讲解非常详细,很多脚本都可以直接使用;第9章介绍了构建免费开源的企业级邮件系统的完整过程,这也来自于作者在实际工作中的实践;第10章针对系统管理员的学习、工作以及职业规划给出了一些宝贵的建议,对新人尤为有帮助。

图书目录

推荐序一

推荐序二

推荐序三

前言

第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