这书是Linux运维行业认可的經典畅销书籍《构建高可用Linux服务器》的姐妹篇,是积笔者很多年的工作经验结晶体和最佳实践,也是笔者很多年至今的一线运维工作中的小结和心力。
这书较大 的特性便是与实践活动紧密联系,全部基础知识、方式、方法和实例都来源于具体自然环境,包含了工作环境下的Shell和Python脚本制作、Pupet自动化技术配置管理及Python自动化运维(Fabric及Ansible)、高可用Linux集群搭建及数亿级PV网站架构模式等主题风格。笔者在传统式运维的基本上,融合了目前最流行的AWS云计算技术运维技术性,跟大伙儿共享了流行的Linux集群和自动化运维知识结构,便捷大伙儿融合自身的具体工作中情景设计制作自身网址的系统架构图。
目录
- 推荐序一
- 推荐序二
- 前言
- 第1章 系统架构设计的构建基础1
- 1.1 网站架构设计相关术语1
- 1.1.1 什么是HTTP 1.11
- 1.1.2 什么是Web 2.02
- 1.1.3 软件开发C/S结构与B/S结构的区别3
- 1.1.4 评估网站性能的专业术语5
- 1.2 IDC机房的选择及CDN的选型6
- 1.3 如何根据服务器应用选购服务器7
- 1.4 CentOS 6.4 x86_64最小化安装后的优化13
- 1.4.1 系统的基础优化13
- 1.4.2 优化Linux下的内核TCP参数以提高系统性能19
- 1.4.3 CentOS 6.4 x86_64系统最小化优化脚本22
- 1.4.4 Linux下CPU使用率与机器负载的关系与区别23
- 1.5 MySQL数据库的优化25
- 1.5.1 服务器物理硬件的优化25
- 1.5.2 利用tuning-primer脚本来调优MySQL数据库25
- 1.6 小结28
- 第2章 生产环境下的Shell和Python脚本29
- 2.1 Shell和Python语言的简单介绍29
- 2.2 Shell编程基础30
- 2.2.1 Shell脚本的基本元素30
- 2.2.2 Shell特殊字符31
- 2.2.3 变量和运算符31
- 2.3 Shell中的控制流结构42
- 2.4 sed的基础用法及实用示例45
- 2.4.1 sed的基础语法格式46
- 2.4.2 sed的用法示例51
- 2.5 awk的基础用法及实用示例56
- 2.6 生产环境下的Shell和Python脚本分类61
- 2.6.1 备份类脚本62
- 2.6.2 统计类脚本66
- 2.6.3 监控类脚本69
- 2.6.4 开发类脚本72
- 2.6.5 自动化类脚本78
- 2.7 小结80
- 第3章 轻量级自动化运维工具Fabric详解81
- 3.1 Python语言的应用领域81
- 3.2 选择Python的原因83
- 3.3 Python的版本说明83
- 3.4 增强的交互式环境IPython84
- 3.5 Python(x,y)介绍85
- 3.6 轻量级自动化运维工具Fabric介绍86
- 3.6.1 Fabric的安装87
- 3.6.2 命令行入口fab命令详解88
- 3.6.3 Fabric的核心API88
- 3.7 Fabric应用实例92
- 3.7.1 开发环境中的Fabric应用实例92
- 3.7.2 线上环境中的Fabric应用实例93
- 3.8 小结96
- 第4章 自动化部署管理工具Ansible简介97
- 4.1 YAML语言介绍99
- 4.2 Ansible的安装步骤 101
- 4.3 利用ssh-keygen设置SSH无密码登录105
- 4.4 Ansible常用模块介绍107
- 4.5 playbook介绍121
- 4.6 角色126
- 4.7 Jinja2过滤器132
- 4.8 小结136
- 第5章 自动化配置管理工具Puppet137
- 5.1 Puppet的基本概念及介绍137
- 5.1.1 Puppet简介137
- 5.1.2 学习Puppet应该掌握Ruby基础138
- 5.1.3 Puppet的基本概念及工作流程介绍138
- 5.2 安装Puppet前的准备工作140
- 5.3 Puppet的详细安装步骤141
- 5.4 Puppet的简单文件应用 145
- 5.5 Puppet的进阶操作152
- 5.5.1 如何同步Puppet-Client端上的常用服务152
- 5.5.2 如何在Puppet-Client端自动安装常用的软件包153
- 5.5.3 如何自动同步Puppet-Client端的yum源153
- 5.5.4 如何根据不同名字的节点机器推送不同的文件155
- 5.5.5 如何根据节点机器名选择性地执行Shell程序158
- 5.5.6 如何快速同步Puppet-Server端的www目录文件160
- 5.5.7 如何利用ERB模板来自动配置Apache虚拟主机165
- 5.5.8 如何利用ERB模板来自动配置Nginx虚拟主机168
- 5.6 Puppet的负载均衡方式172
- 5.7 用GitHub来管理Puppet配置文件173
- 5.8 小结176
- 第6章 Linux防火墙及系统安全篇177
- 6.1基础网络知识177
- 6.1.1OSI网络参考模型177
- 6.1.2TCP/IP三次握手的过程详解178
- 6.1.3Socket应用及其他基础网络知识181
- 6.2Linux防火墙的概念182
- 6.3Linux防火墙在企业中的应用183
- 6.4Linux防火墙的语法184
- 6.5iptables的基础知识188
- 6.5.1iptables的状态state188
- 6.5.2iptables的conntrack记录190
- 6.5.3关于iptables模块的说明191
- 6.5.4iptables防火墙初始化的注意事项192
- 6.5.5如何保存运行中的iptables规则192
- 6.6如何流程化编写iptables脚本193
- 6.7学习iptables应该掌握的工具 196
- 6.7.1 命令行的抓包工具TCPDump196
- 6.7.2图形化抓包工具Wireshark197
- 6.7.3强大的命令行扫描工具Nmap200
- 6.8iptables简单脚本:Web主机防护脚本203
- 6.9线上生产服务器的iptables脚本204
- 6.9.1安全的主机iptables防火墙脚本205
- 6.9.2自动分析黑名单及白名单的iptables脚本207
- 6.9.3利用recent模块限制同一IP的连接数210
- 6.9.4利用DenyHosts工具和脚本来防止SSH暴力破解214
- 6.10TCP_Wrappers应用级防火墙的介绍和应用218
- 6.11工作中的Linux防火墙总结220
- 6.12Linux服务器基础防护知识221
- 6.13Linux服务器高级防护知识222
- 6.14如何防止入侵222
- 6.15小结223
- 第7章 Linux集群及项目案例分享224
- 7.1负载均衡高可用核心概念及常用软件224
- 7.1.1什么是负载均衡高可用224
- 7.1.2以F5 BIG-IP作为负载均衡器225
- 7.1.3以LVS作为负载均衡器226
- 7.1.4以Nginx作为负载均衡器230
- 7.1.5以HAProxy作为负载均衡器231
- 7.1.6高可用软件Keepalived232
- 7.1.7高可用软件Heartbeat233
- 7.1.8高可用块设备DRBD233
- 7.1.9四、七层负载均衡工作流程对比235
- 7.2负载均衡关键技术237
- 7.2.1什么是Session237
- 7.2.2什么是Session共享237
- 7.2.3什么是会话保持238
- 7.3负载均衡器的会话保持机制239
- 7.3.1LVS的会话保持机制239
- 7.3.2Nginx负载均衡器中的ip_hash算法244
- 7.3.3HAProxy负载均衡器的source算法244
- 7.3.4服务器健康检测技术249
- 7.4Linux集群的项目案例分享250
- 7.4.1案例分享一:用Nginx+Keepalived实现在线票务系统250
- 7.4.2案例分享二:企业级Web负载均衡高可用之Nginx+Keepalived253
- 7.4.3案例分享三:Nginx主主负载均衡架构265
- 7.4.4案例分享四:生产环境下的高可用NFS文件服务器270
- 7.4.5案例分享五:生产环境下的MySQL DRBD双机高可用280
- 7.4.6案例分享六:生产环境下的MySQL数据库主从同步293
- 7.4.7案例分享七:HAProxy双机高可用方案之HAProxy+Keepalived303
- 7.4.8案例分享八:巧用DNS轮询做负载均衡308
- 7.5软件级负载均衡器的特点介绍与对比313
- 7.6网站系统架构设计图315
- 7.7小结316
- 第8章 浅谈网站系统架构设计318
- 8.1网站架构设计规划预案318
- 8.1.1利用经验,合理设计318
- 8.1.2规划好网站未来的发展319
- 8.1.3合理选用开源软件方案319
- 8.1.4机房及CDN选型319
- 8.1.5节约成本320
- 8.1.6安全备份320
- 8.2百万级PV高可用网站架构设计321
- 8.3千万级PV高性能高并发网站架构设计323
- 8.4亿级PV高性能高并发网站架构设计327
- 8.5细分五层解说网站架构333
- 8.6小结335
- 附录A HAProxy 1.4的配置文档336
- 附录B rsync及inotify在工作中的应用343
- 附录C 用Supervisor批量管理进程355