书籍详情
构建高可用Linux服务器(第4版)
作者:余洪春 著
出版社:机械工业出版社
出版时间:2017-11-01
ISBN:9787111582953
定价:¥89.00
购买这本书可以去
内容简介
本书第1版2011年出版,出版后受到广大读者和媒体的好评,直接帮助读者近10万人,在京东、当*、豆瓣等图书媒体获得了近5000条真实的读者反馈,被CSDN和51CTO等知名IT媒体授予“10大*具技术影响力的图书”和“*受读者喜爱的原创图书”等多项殊荣,在原创IT类图中竖起了一个难以逾越的标杆,是公认的经典畅销书。在读者的要求和帮助下,本书不断迭代和优化,与时具进,已经更新至第4版。相比第3版,第4版做了如下重要的改进和优化:(1)除之前项目部署时采用的系统没有升级到CentOS 6.8 x86_64以外,其他环境均为CentOS 6.8 x86_64。(2)删除了分布式自动化部署管理工具Puppet,改用了Fabric自动化运维工具代替。(3)增补了Vagrant虚拟化软件的应用,并且重写了生产环境下的SHELl脚本。(4)附录部分增加了现在流行的GitLab应用及强大的编辑工具Sulbime Text3的快捷键方式操作。本书*大的特点就是与实践紧密结合,所有理论知识、方法、技巧和案例都来自实际生产环境,涵盖Linux服务器性能调优、、Shell脚本、高可用Linux集群构建、MySQL性能调优及高可用、自动化运维(Fabric)、Linux系统安全等主题,所有内容都围绕“如何构建高可用的Linux服务器”这个主题深度展开。
作者简介
余洪春(抚琴煮酒),系统架构师、高级DevOps,从事电子商务网站和大型CDN系统运维工作10多年,在Linux集群、自动化运维、系统安全及高并发高流量网站架构设计等方面进行了深入的研究,在大量一线实践中积累了丰富的经验。精通负载均衡高可用技术和自动化运维技术,擅长电子商务和门户类网站架构。51CTO和ChinaUnix等知名社区的特邀专家,51CTO系统网络频道的专栏作家,ChinaUnix论坛“集群和高可用”及“监控及自动化运维”版版主,在社区内发表了大量技术文章,深受网友好评。
目录
前言
第1章 Linux服务器的性能调优1
1.1 网站架构设计相关1
1.1.1 评估网站性能涉及的专业
名词术语1
1.1.2 CDN业务的选项2
1.1.3 IDC机房的选择3
1.2 如何根据服务器应用来选购服务器 4
1.3 硬件对Linux性能的影响9
1.4 CentOS 6.8 x86_64最小化安装后的优化11
1.4.1 系统的基础优化11
1.4.2 优化Linux下的内核TCP参数以提高系统性能19
1.4.3 CentOS 6.8 x86_64系统最小化安装优化脚本21
1.4.4 Linux下CPU使用率与机器负载的关系与区别23
1.5 服务器调优实际案例25
1.6 小结28
第2章 Shell脚本在生产环境下的应用29
2.1 Shell编程基础29
2.1.1 Shell脚本基本元素30
2.1.2 Shell基础正则表达式30
2.1.3 Shell特殊字符32
2.1.4 变量和运算符33
2.2 Shell中控制流结构45
2.3 Sed的基础用法及实用举例48
2.3.1 Sed的基础语法格式48
2.3.2 Sed的用法举例说明53
2.4 awk的基础用法及实用举例56
2.5 Shell基础正则表达式举例61
2.6 Shell开发中应该掌握的系统 知识点68
2.7 生产环境下的Shell脚本74
2.7.1 Amazon Linux系统简介74
2.7.2 生产环境下的备份类脚本75
2.7.3 生产环境下的监控类脚本78
2.7.4 生产环境下的运维开发类脚本84
2.8 小结88
第3章 利用Vagrant搭建分布式环境89
3.1 Vagrant简单介绍89
3.2 Vagrant安装90
3.3 使用Vagrant配置本地开发环境91
3.3.1 Vagrant的具体安装步骤91
3.3.2 Vagrant配置文件详解93
3.3.3 Vagrant常用命令详解95
3.4 使用Vagrant搭建分布式环境96
3.5 小结99
第4章 轻量级自动化运维工具介绍100
4.1 轻量级自动化运维工具pssh介绍101
4.1.1 pssh的安装103
4.1.2 pssh的使用103
4.2 轻量级自动化运维工具Fabric介绍105
4.2.1 Fabric的安装105
4.2.2 Fabric的命令行入口fab命令详细介绍107
4.2.3 Fabric的环境变量设置108
4.2.4 Fabric的核心API109
4.2.5 Fabric的执行逻辑112
4.2.6 如何利用进程池大小来限制 Fabric并发进程数114
4.3 Fabric在工作中应用实例114
4.3.1 开发环境中Fabric应用实例115
4.3.2 工作场景中常见的Fabric应用 实例116
4.4 小结120
第5章 Linux集群及其项目案例分享121
5.1 负载均衡高可用核心概念及常用软件121
5.1.1 什么是负载均衡高可用121
5.1.2 以F5 BIG-IP作为负载均衡器122
5.1.3 以LVS作为负载均衡器123
5.1.4 以Nginx作为负载均衡器132
5.1.5 以HAProxy作为负载均衡器132
5.1.6 高可用软件Keepalived134
5.1.7 高可用软件Heartbeat134
5.1.8 高可用块设备DRBD135
5.2 负载均衡关键技术136
5.2.1 什么是Session136
5.2.2 什么是Session共享136
5.2.3 什么是会话保持137
5.3 负载均衡器的会话保持机制138
5.3.1 LVS的会话保持机制138
5.3.2 Nginx负载均衡器中的ip_hash 算法142
5.3.3 HAProxy负载均衡器的source算法145
5.4 服务器健康检测150
5.5 Linux集群的项目案例分享151
5.5.1 用LVS+Keepalived建高可用集群151
5.5.2 用Nginx+Keepalived实现在 线票务系统154
5.5.3 企业级Web负载均衡高可用之Nginx+Keepalived157
5.5.4 HAProxy双机高可用方案之 HAProxy+Keepalived169
5.5.5 巧用DNS轮询作负载均衡179
5.5.6 百万级PV高可用网站架构设计184
5.5.7 千万级PV高性能高并发网站 架构设计187
5.6 软件级负载均衡器的特点介绍与对比193
5.7 四层负载均衡和七层负载均衡工作流程的对比194
5.8 Linux集群的总结和思考196
5.9 小结198
第6章 MySQL性能调优及高可用案例分享200
6.1 MySQL数据库的优化200
6.1.1 服务器物理硬件的优化200
6.1.2 MySQL配置文件的优化201
6.1.3 MySQL上线后根据status状态进行适当优化204
6.1.4 利用tuning-primer脚本进行 数据库调优212
6.1.5 MySQL架构设计调优216
6.2 MySQL数据库的高可用架构方案216
6.2.1 生产环境下的DRBD+Heart- beat+MySQL双机高可用217
6.2.2 生产环境下的MySQL数据库主从Replication同步228
6.3 小结240
第7章 Linux防火墙介绍242
7.1 基础网络知识242
7.1.1 OSI网络参考模型242
7.1.2 TCP/IP三次握手的过程详解243
7.1.3 Socket应用245
7.1.4 其他基础网络知识247
7.2 Linux防火墙的状态机制247
7.3 Linux防火墙在企业中的应用247
7.4 Linux防火墙的语法248
7.5 iptables的基础知识252
7.5.1 iptables的状态state252
7.5.2 iptables的Conntrack记录254
7.5.3 关于iptables模块的说明255
7.5.4 iptables防火墙初始化的注意事项256
7.5.5 如何保存运行中的iptables规则256
7.6 如何流程化编写iptables脚本257
7.7 学习iptables应该掌握的工具260
7.7.1 命令行的抓包工具TCPDump260
7.7.2 图形化抓包工具Wireshark261
7.7.3 强大的命令行扫描工具Nmap264
7.7.4 使用TCPPing工具检测TCP延迟266
7.8 iptables的简单脚本学习267
7.8.1 普通的Web主机防护脚本267
7.8.2 如何让别人ping不到自己,而自己能ping通别人呢?269
7.8.3 建立安全的vsftpd服务器271
7.9 线上生产服务器的iptables脚本275
7.9.1 安全的主机iptables防火墙脚本275
7.9.2 自动分析黑名单及白名单的iptables脚本278
7.9.3 利用recent模块限制同一IP的连接数281
7.9.4 利用DenyHosts工具和脚本来防止SSH暴力破解285
7.10 工作中的Linux防火墙总结287
7.11 小结289
第8章 Linux系统安全相关篇290
8.1 TCP_wrappers应用级防火墙的介绍和应用290
8.2 DDos攻击和运营商劫持292
8.3 Linux服务器的安全防护294
8.3.1 Linux服务器基础防护篇294
8.3.2 Linux服务器高级防护篇295
8.4 Linux系统如何防止入侵301
8.5 小结301
附录A GibLab在开发工作中的实际应用302
附录B Sublime Text3的快捷键操作308
附录C 调试网络接口的利器Postman315
附录D RSYNC及INOTIFY在工作中的应用321
第1章 Linux服务器的性能调优1
1.1 网站架构设计相关1
1.1.1 评估网站性能涉及的专业
名词术语1
1.1.2 CDN业务的选项2
1.1.3 IDC机房的选择3
1.2 如何根据服务器应用来选购服务器 4
1.3 硬件对Linux性能的影响9
1.4 CentOS 6.8 x86_64最小化安装后的优化11
1.4.1 系统的基础优化11
1.4.2 优化Linux下的内核TCP参数以提高系统性能19
1.4.3 CentOS 6.8 x86_64系统最小化安装优化脚本21
1.4.4 Linux下CPU使用率与机器负载的关系与区别23
1.5 服务器调优实际案例25
1.6 小结28
第2章 Shell脚本在生产环境下的应用29
2.1 Shell编程基础29
2.1.1 Shell脚本基本元素30
2.1.2 Shell基础正则表达式30
2.1.3 Shell特殊字符32
2.1.4 变量和运算符33
2.2 Shell中控制流结构45
2.3 Sed的基础用法及实用举例48
2.3.1 Sed的基础语法格式48
2.3.2 Sed的用法举例说明53
2.4 awk的基础用法及实用举例56
2.5 Shell基础正则表达式举例61
2.6 Shell开发中应该掌握的系统 知识点68
2.7 生产环境下的Shell脚本74
2.7.1 Amazon Linux系统简介74
2.7.2 生产环境下的备份类脚本75
2.7.3 生产环境下的监控类脚本78
2.7.4 生产环境下的运维开发类脚本84
2.8 小结88
第3章 利用Vagrant搭建分布式环境89
3.1 Vagrant简单介绍89
3.2 Vagrant安装90
3.3 使用Vagrant配置本地开发环境91
3.3.1 Vagrant的具体安装步骤91
3.3.2 Vagrant配置文件详解93
3.3.3 Vagrant常用命令详解95
3.4 使用Vagrant搭建分布式环境96
3.5 小结99
第4章 轻量级自动化运维工具介绍100
4.1 轻量级自动化运维工具pssh介绍101
4.1.1 pssh的安装103
4.1.2 pssh的使用103
4.2 轻量级自动化运维工具Fabric介绍105
4.2.1 Fabric的安装105
4.2.2 Fabric的命令行入口fab命令详细介绍107
4.2.3 Fabric的环境变量设置108
4.2.4 Fabric的核心API109
4.2.5 Fabric的执行逻辑112
4.2.6 如何利用进程池大小来限制 Fabric并发进程数114
4.3 Fabric在工作中应用实例114
4.3.1 开发环境中Fabric应用实例115
4.3.2 工作场景中常见的Fabric应用 实例116
4.4 小结120
第5章 Linux集群及其项目案例分享121
5.1 负载均衡高可用核心概念及常用软件121
5.1.1 什么是负载均衡高可用121
5.1.2 以F5 BIG-IP作为负载均衡器122
5.1.3 以LVS作为负载均衡器123
5.1.4 以Nginx作为负载均衡器132
5.1.5 以HAProxy作为负载均衡器132
5.1.6 高可用软件Keepalived134
5.1.7 高可用软件Heartbeat134
5.1.8 高可用块设备DRBD135
5.2 负载均衡关键技术136
5.2.1 什么是Session136
5.2.2 什么是Session共享136
5.2.3 什么是会话保持137
5.3 负载均衡器的会话保持机制138
5.3.1 LVS的会话保持机制138
5.3.2 Nginx负载均衡器中的ip_hash 算法142
5.3.3 HAProxy负载均衡器的source算法145
5.4 服务器健康检测150
5.5 Linux集群的项目案例分享151
5.5.1 用LVS+Keepalived建高可用集群151
5.5.2 用Nginx+Keepalived实现在 线票务系统154
5.5.3 企业级Web负载均衡高可用之Nginx+Keepalived157
5.5.4 HAProxy双机高可用方案之 HAProxy+Keepalived169
5.5.5 巧用DNS轮询作负载均衡179
5.5.6 百万级PV高可用网站架构设计184
5.5.7 千万级PV高性能高并发网站 架构设计187
5.6 软件级负载均衡器的特点介绍与对比193
5.7 四层负载均衡和七层负载均衡工作流程的对比194
5.8 Linux集群的总结和思考196
5.9 小结198
第6章 MySQL性能调优及高可用案例分享200
6.1 MySQL数据库的优化200
6.1.1 服务器物理硬件的优化200
6.1.2 MySQL配置文件的优化201
6.1.3 MySQL上线后根据status状态进行适当优化204
6.1.4 利用tuning-primer脚本进行 数据库调优212
6.1.5 MySQL架构设计调优216
6.2 MySQL数据库的高可用架构方案216
6.2.1 生产环境下的DRBD+Heart- beat+MySQL双机高可用217
6.2.2 生产环境下的MySQL数据库主从Replication同步228
6.3 小结240
第7章 Linux防火墙介绍242
7.1 基础网络知识242
7.1.1 OSI网络参考模型242
7.1.2 TCP/IP三次握手的过程详解243
7.1.3 Socket应用245
7.1.4 其他基础网络知识247
7.2 Linux防火墙的状态机制247
7.3 Linux防火墙在企业中的应用247
7.4 Linux防火墙的语法248
7.5 iptables的基础知识252
7.5.1 iptables的状态state252
7.5.2 iptables的Conntrack记录254
7.5.3 关于iptables模块的说明255
7.5.4 iptables防火墙初始化的注意事项256
7.5.5 如何保存运行中的iptables规则256
7.6 如何流程化编写iptables脚本257
7.7 学习iptables应该掌握的工具260
7.7.1 命令行的抓包工具TCPDump260
7.7.2 图形化抓包工具Wireshark261
7.7.3 强大的命令行扫描工具Nmap264
7.7.4 使用TCPPing工具检测TCP延迟266
7.8 iptables的简单脚本学习267
7.8.1 普通的Web主机防护脚本267
7.8.2 如何让别人ping不到自己,而自己能ping通别人呢?269
7.8.3 建立安全的vsftpd服务器271
7.9 线上生产服务器的iptables脚本275
7.9.1 安全的主机iptables防火墙脚本275
7.9.2 自动分析黑名单及白名单的iptables脚本278
7.9.3 利用recent模块限制同一IP的连接数281
7.9.4 利用DenyHosts工具和脚本来防止SSH暴力破解285
7.10 工作中的Linux防火墙总结287
7.11 小结289
第8章 Linux系统安全相关篇290
8.1 TCP_wrappers应用级防火墙的介绍和应用290
8.2 DDos攻击和运营商劫持292
8.3 Linux服务器的安全防护294
8.3.1 Linux服务器基础防护篇294
8.3.2 Linux服务器高级防护篇295
8.4 Linux系统如何防止入侵301
8.5 小结301
附录A GibLab在开发工作中的实际应用302
附录B Sublime Text3的快捷键操作308
附录C 调试网络接口的利器Postman315
附录D RSYNC及INOTIFY在工作中的应用321
猜您喜欢