第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_4下的安装步骤 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在Cruntab下运行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_4下路由模式配置OpenVPN服务器 386
7.5.3案例三:在FreeBSD8 x86_4下网桥模式配置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 iRedmai10.4.0特有的防垃圾技术 513
9.4.5 iRedmai10.4.0是如何利用ClamAV防病毒的 517
9.4.6 iRedmai10.4.0邮件服务器的网络安全 517
9.4.7 iRedmai10.4.0邮件服务器系统的监控 520
9.4.8 iRedmai10.4.0的系统文件备份 522
9.4.9 iRedmai10.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