资深Linux/Unix系统管理专家兼架构师多年一线工作经验结晶,51CTO和ChinaUnix等知名社区联袂推荐。结合实际生产环境,从Linux虚拟化、集群、服务器故障诊断与排除、系统安全性等多角度阐述构建高可用Linux服务器的最佳实践。本书实践性非常强,包含大量企业级的应用案例及相应的解决方案,读者可以直接用这些方案解决在实际工作中遇到的问题。
封面图
目录
- 推荐序一
- 推荐序二
- 推荐序三
- 前言
- 第1章Linux服务器构建基础/1
- 1.1Linux服务器的安装方法/2
- 1.1.1光盘安装Centos5.5 x86_64/2
- 1.1.2使用PXE+DHCP+Apache+KickStart无人值守安装RHEL/12
- 1.1.3Linux的其他安装方法/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.3Linux服务器的网络配置/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.4Linux服务器的日志管理/45
- 1.4.1系统日志syslog.conf的配置详解/46
- 1.4.2Linux下的日志维护技巧/47
- 1.4.3用shell脚本分析Nginx日志/51
- 1.5Linux服务器的优化/53
- 1.5.1根据服务器应用来选购服务器/54
- 1.5.2Centos5.5最小化安装后的优化/58
- 1.5.3优化Linux下的内核TCP参数以提高系统性能/63
- 1.5.4生产服务器应尽量选择编译安装软件包/65
- 1.6用开源工具Nagios监控Linux服务器/66
- 1.6.1Centos5.5下的监控工具简介/66
- 1.6.2Nagios应该监控的服务器基础选项/67
- 1.6.3Nagios监控Windows 2003时应注意的事项/67
- 1.6.4用Nagios监控Nginx脚本/68
- 1.6.5Nagios使用心得/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.1FreeBSD8.1下的jail概述/103
- 2.3.2FreeBSD8.1下安装jail的详细步骤/104
- 2.3.3FreeBSD8.1下jail的管理/105
- 2.3.4通过ezjail来创建和管理jail虚拟机/106
- 2.3.5jail在生产环境下的注意事项/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.1Samba概述/121
- 2.5.2在FreeBSD8.1下安装配置Samba3.4/121
- 2.5.3Samba的详细语法配置/122
- 2.5.4Samba在工作中的总结/124
- 2.5.5Linux下的高级权限文件控制/125
- 2.5.6Samba在企业开发环境中的常用案例之一/127
- 2.5.7Samba在企业开发环境中的应用案例之二/128
- 2.6在FreeBSD8.1下配置NFS文件服务器/131
- 2.7在FreeBSD8.1与Centos5.5下搭建rsync服务器/134
- 2.7.1rsync的概念/134
- 2.7.2在Centos5.5下配置rsync服务器/134
- 2.7.3在FreeBSD8.1下配置rsync服务器/138
- 2.7.4rsync+Inotify实现数据的实时同步更新/140
- 2.8在FreeBSD8.1下搭建vsftpd服务器/143
- 2.8.1vsftpd服务器的特点/143
- 2.8.2vsftpd的运行模式/144
- 2.8.3vsftpd的数据连接模式/144
- 2.8.4vsftpd到底安全在哪里/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.1XEN在Centos5.6 x86_64下的安装步骤/183
- 3.3.2XEN虚拟机的优势/185
- 3.4XEN在生产环境下的应用/185
- 3.4.1XEN虚拟化的基本概念/185
- 3.4.2在Centos5.5下安装XEN虚拟机/187
- 3.4.3安装第一台虚拟机(模板机)/189
- 3.4.4XEN寄宿服务器的管理/191
- 3.4.5XEN在生产环境下的应用/194
- 3.5Citrix 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.4Centos5.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.5VMware的机器应该如何配置自动对时/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.2FreeBSD8.1下的sudoer文件意外损坏/219
- 4.5.3Centos5.5的root密码被恶意篡改/219
- 4.5.4bash损坏该如何正确处理/220
- 4.5.5正确操作nohup让程序始终在后台运行/221
- 4.5.6负载均衡器出现故障/221
- 4.6检查机房应注意的位置和细节问题/221
- 4.7系统维护时应注意的非技术因素/222
- 4.8小结/222
- 第5章生产环境下的SHELL脚本/223
- 5.1Vim的基础用法及进阶心得/224
- 5.2Sed的基础用法及实用举例/228
- 5.2.1Sed的基础语法格式/228
- 5.2.2Sed的用法举例说明/230
- 5.3基础正则表达式/235
- 5.4Linux下强大的查找命令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.1F5 Big-IP的会话保持机制/287
- 6.3.2LVS的会话保持机制/288
- 6.4Linux集群的项目案例分享/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.7MySQL数据库的优化/339
- 6.7.1服务器物理硬件的优化/339
- 6.7.2MySQL应该采用编译安装的方法/340
- 6.7.3MySQL配置文件的优化/340
- 6.7.4MySQL上线后根据status状态进行适当优化/346
- 6.7.5MySQL数据库的可扩展性架构方案/352
- 6.7.6MySQL数据库的Replication高可用架构/352
- 6.7.7MySQL 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.3IPSec VPN的不足/378
- 7.4OpenVPN的应用范畴/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.1OpenVPN如何注销用户/402
- 7.6.2OpenVPN服务器的安全问题/403
- 7.6.3OpenVPN服务器的负载均衡/404
- 7.7小结/404
- 第8章Linux防火墙及系统安全/405
- 8.1基础网络知识/406
- 8.1.1OSI网络参考模型/406
- 8.1.2TCP/IP三次握手/四次挥手的过程详解/407
- 8.1.3其他基础网络知识/409
- 8.2Linux防火墙的概念/409
- 8.3Linux防火墙在企业中的作用/410
- 8.4Linux防火墙的语法/410
- 8.5iptables的基础知识/414
- 8.5.1iptables的状态state/414
- 8.5.2iptables的Conntrack记录/416
- 8.5.3关于iptables模块的说明/416
- 8.5.4iptables防火墙初始化的注意事项/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.8iptables的简单脚本学习/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.10TCP_wrappers应用级防火墙的介绍和应用/458
- 8.11工作中的Linux防火墙总结/460
- 8.12Linux系统自身的安全防护/461
- 8.12.1SELinux简介/461
- 8.12.2SELinux的相关设置/461
- 8.13Linux系统安全相关的工具/462
- 8.13.1Rootkit检测工具Chkrootkit/462
- 8.13.2文件系统完整性检查工具Tripwire/464
- 8.13.3防恶意扫描软件PortSentry/470
- 8.14Linux服务器基础防护篇/474
- 8.15如何防止入侵/475
- 8.16小结/476
- 第9章如何构建开源免费的企业级邮件系统/477
- 9.1DNS服务器的架设/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.1iRedmail企业级邮件服务器的介绍/504
- 9.4.2在Centos5.2 x86_64上安装iRedmail0.4.0/505
- 9.4.3Postfix本身的防垃圾功能/508
- 9.4.4iRedmail0.4.0特有的防垃圾技术/513
- 9.4.5iRedmail0.4.0是如何利用ClamAV防病毒的/517
- 9.4.6iRedmail0.4.0邮件服务器的网络安全/517
- 9.4.7iRedmail0.4.0邮件服务器系统的监控/520
- 9.4.8iRedmail0.4.0的系统文件备份/522
- 9.4.9iRedmail0.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.4Linux的学习及进阶之路/544
- 10.5系统管理员应该如何工作/547
- 10.6给Linux/Unix新人的建议/549
- 10.7系统管理员之企业生存守则/550
- 10.8小结/553
- 附录AXmanager 3.0企业版实用技巧集锦/554
- 附录B使用Screen管理远程会话/564
- 附录C自动化部署管理工具Puppet/566
- 附录D漫谈CDN系统运维与电子商务运维/572