新書推薦:
《
镜中的星期天
》
售價:HK$
76.2
《
世界前沿技术发展报告2024
》
售價:HK$
188.2
《
可转债——新手理财的极简工具
》
售價:HK$
65.0
《
新加坡教育:神话与现实
》
售價:HK$
96.3
《
“口袋中的世界史”第一辑·冷战中的危机事件
》
售價:HK$
291.2
《
绝美的奥伦堡蕾丝披肩编织
》
售價:HK$
177.0
《
狂飙年代:18世纪俄国的新文化和旧文化(第二卷)
》
售價:HK$
177.0
《
万有引力书系 纳粹亿万富翁 德国财富家族的黑暗历史
》
售價:HK$
109.8
|
編輯推薦: |
高级运维架构师、资深系统运维工程师十余年工作经验总结,姊妹篇《构建高可用Linux服务器》被《程序员》杂志和51CTO等*威媒体评为10大*具技术影响力的图书和*受读者喜爱的原创图书。
一线运维人员实际工作总结和提练,所涉及的知识点涵盖了目前流行的运维技术。
基于笔者一线运维工作提炼,从Linux集群经典案例分享、Python自动化运维和亿级PV网站架构设计等多角度讲解,以实践案例指导读者掌握到Linux系统集群和自动化运维技巧及如何设计高并发高流量网站架。
|
內容簡介: |
全书分为8章:第1章主要介绍进行网站架构设计的软硬件环境;第2章主要介绍生产环境下的shell脚本;第3章讲解的是自动化运维工具Farbic;第4章介绍自动化部署管理工具Ansible;第5章详解分布式自动化部署管理工具Puppet;第6章讲解的是Linux防火墙在企业中的部署;第7章分享高可用Linux集群案例;第8章介绍网站系统架构设计。
|
關於作者: |
余
洪春(抚琴煮酒),高级运维架构师、资深运维工程师,在电子商务领域及云计算领域工作10多年,在Linux集群、自动化运维、DevOps及高并发高流
量网站架构设计等方面进行了深入的研究;在大量一线实践中积累了丰富的经验。精通负载均衡高可用和Python自动化运维技术,擅长高流量高性能网站架构
设计。51CTO和ChinaUnix等知名社区特邀专家,ChinaUnix论坛集群和高可用及监控及自动化运维技术版版主,在社区内发表了大
量技术文章,深受社区网友好评。
|
目錄:
|
目录 Contents推荐序一推荐序二前言第1章 系统架构设计的构建基础11.1 网站架构设计相关术语11.1.1 什么是HTTP 1.111.1.2 什么是Web 2.021.1.3 软件开发CS结构与BS结构的区别31.1.4 评估网站性能的专业术语51.2 IDC机房的选择及CDN的选型61.3 如何根据服务器应用选购服务器71.4 CentOS 6.4 x86_64最小化安装后的优化131.4.1 系统的基础优化131.4.2 优化Linux下的内核TCP参数以提高系统性能191.4.3 CentOS 6.4 x86_64系统最小化优化脚本221.4.4 Linux下CPU使用率与机器负载的关系与区别231.5 MySQL数据库的优化251.5.1 服务器物理硬件的优化251.5.2 利用tuning-primer脚本来调优MySQL数据库251.6 小结28第2章 生产环境下的Shell和Python脚本292.1 Shell和Python语言的简单介绍292.2 Shell编程基础302.2.1 Shell脚本的基本元素302.2.2 Shell特殊字符312.2.3 变量和运算符312.3 Shell中的控制流结构422.4 sed的基础用法及实用示例452.4.1 sed的基础语法格式462.4.2 sed的用法示例512.5 awk的基础用法及实用示例562.6 生产环境下的Shell和Python脚本分类612.6.1 备份类脚本622.6.2 统计类脚本662.6.3 监控类脚本692.6.4 开发类脚本722.6.5 自动化类脚本782.7 小结80第3章 轻量级自动化运维工具Fabric详解813.1 Python语言的应用领域813.2 选择Python的原因833.3 Python的版本说明833.4 增强的交互式环境IPython843.5 Pythonx,y介绍853.6 轻量级自动化运维工具Fabric介绍863.6.1 Fabric的安装873.6.2 命令行入口fab命令详解883.6.3 Fabric的核心API883.7 Fabric应用实例923.7.1 开发环境中的Fabric应用实例923.7.2 线上环境中的Fabric应用实例933.8 小结96第4章 自动化部署管理工具Ansible简介974.1 YAML语言介绍994.2 Ansible的安装步骤 1014.3 利用ssh-keygen设置SSH无密码登录1054.4 Ansible常用模块介绍1074.5 playbook介绍1214.6 角色1264.7 Jinja2过滤器1324.8 小结136第5章 自动化配置管理工具Puppet1375.1 Puppet的基本概念及介绍1375.1.1 Puppet简介1375.1.2 学习Puppet应该掌握Ruby基础1385.1.3 Puppet的基本概念及工作流程介绍1385.2 安装Puppet前的准备工作1405.3 Puppet的详细安装步骤1415.4 Puppet的简单文件应用 1455.5 Puppet的进阶操作1525.5.1 如何同步Puppet-Client端上的常用服务1525.5.2 如何在Puppet-Client端自动安装常用的软件包1535.5.3 如何自动同步Puppet-Client端的yum源1535.5.4 如何根据不同名字的节点机器推送不同的文件1555.5.5 如何根据节点机器名选择性地执行Shell程序1585.5.6 如何快速同步Puppet-Server端的www目录文件1605.5.7 如何利用ERB模板来自动配置Apache虚拟主机1655.5.8 如何利用ERB模板来自动配置Nginx虚拟主机1685.6 Puppet的负载均衡方式1725.7 用GitHub来管理Puppet配置文件1735.8 小结176第6章 Linux防火墙及系统安全篇1776.1基础网络知识1776.1.1OSI网络参考模型1776.1.2TCPIP三次握手的过程详解1786.1.3Socket应用及其他基础网络知识1816.2Linux防火墙的概念1826.3Linux防火墙在企业中的应用1836.4Linux防火墙的语法1846.5iptables的基础知识1886.5.1iptables的状态state1886.5.2iptables的conntrack记录1906.5.3关于iptables模块的说明1916.5.4iptables防火墙初始化的注意事项1926.5.5如何保存运行中的iptables规则1926.6如何流程化编写iptables脚本1936.7学习iptables应该掌握的工具 1966.7.1 命令行的抓包工具TCPDump1966.7.2图形化抓包工具Wireshark1976.7.3强大的命令行扫描工具Nmap2006.8iptables简单脚本:Web主机防护脚本2036.9线上生产服务器的iptables脚本2046.9.1安全的主机iptables防火墙脚本2056.9.2自动分析黑名单及白名单的iptables脚本2076.9.3利用recent模块限制同一IP的连接数2106.9.4利用DenyHosts工具和脚本来防止SSH暴力破解2146.10TCP_Wrappers应用级防火墙的介绍和应用2186.11工作中的Linux防火墙总结2206.12Linux服务器基础防护知识2216.13Linux服务器高级防护知识2226.14如何防止入侵2226.15小结223第7章 Linux集群及项目案例分享2247.1负载均衡高可用核心概念及常用软件2247.1.1什么是负载均衡高可用2247.1.2以F5 BIG-IP作为负载均衡器2257.1.3以LVS作为负载均衡器2267.1.4以Nginx作为负载均衡器2307.1.5以HAProxy作为负载均衡器2317.1.6高可用软件Keepalived2327.1.7高可用软件Heartbeat2337.1.8高可用块设备DRBD2337.1.9四、七层负载均衡工作流程对比2357.2负载均衡关键技术2377.2.1什么是Session2377.2.2什么是Session共享2377.2.3什么是会话保持2387.3负载均衡器的会话保持机制2397.3.1LVS的会话保持机制2397.3.2Nginx负载均衡器中的ip_hash算法2447.3.3HAProxy负载均衡器的source算法2447.3.4服务器健康检测技术2497.4Linux集群的项目案例分享2507.4.1案例分享一:用Nginx+Keepalived实现在线票务系统2507.4.2案例分享二:企业级Web负载均衡高可用之Nginx+Keepalived2537.4.3案例分享三:Nginx主主负载均衡架构2657.4.4案例分享四:生产环境下的高可用NFS文件服务器2707.4.5案例分享五:生产环境下的MySQL DRBD双机高可用2807.4.6案例分享六:生产环境下的MySQL数据库主从同步2937.4.7案例分享七:HAProxy双机高可用方案之HAProxy+Keepalived3037.4.8案例分享八:巧用DNS轮询做负载均衡3087.5软件级负载均衡器的特点介绍与对比3137.6网站系统架构设计图3157.7小结316第8章 浅谈网站系统架构设计3188.1网站架构设计规划预案3188.1.1利用经验,合理设计3188.1.2规划好网站未来的发展3198.1.3合理选用开源软件方案3198.1.4机房及CDN选型3198.1.5节约成本3208.1.6安全备份3208.2百万级PV高可用网站架构设计3218.3千万级PV高性能高并发网站架构设计3238.4亿级PV高性能高并发网站架构设计3278.5细分五层解说网站架构3338.6小结335附录A HAProxy 1.4的配置文档336附录B rsync及inotify在工作中的应用343附录C 用Supervisor批量管理进程355
|
內容試閱:
|
第1章 系统架构设计的构建基础1
1.1 网站架构设计相关术语1
1.1.1 什么是HTTP 1.11
1.1.2 什么是Web 2.02
1.1.3 软件开发CS结构与BS结构的区别3
1.1.4 评估网站性能的专业术语5
1.2 IDC机房的选择及CDN的选型6
1.3 如何根据服务器应用选购服务器7
1.4 CentOS 6.4 x86_64最小化安装后的优化13目录 Contents
推荐序一
推荐序二
前言
第1章 系统架构设计的构建基础1
1.1 网站架构设计相关术语1
1.1.1 什么是HTTP 1.11
1.1.2 什么是Web 2.02
1.1.3 软件开发CS结构与BS结构的区别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 Pythonx,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.2TCPIP三次握手的过程详解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
|
|