老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

热门跟老男孩学Linux运维:Web集群实战

资深运维架构实战专家及教育培训界专家十多年的运维实战经验总结,系统讲解网站集群架构的框架模型以及各个节点的企业级搭建和优化。
  • 书籍作者:老男孩
  • 出版社 :机械工业出版社
  • 出版时间:2016年4月1日
  • 书籍开本:16开
  • 书籍包装:平装
  • 是否套装:
  • 书籍页数:664页
  • 书号ISBN:9787111529835

学生专享:¥67.8068折¥99.00

老男孩 Linux云计算运维 就业班正在火热招生,坐席有限,【立即抢占报名名额】

内容简介:

  本书针对中小规模网站集群的搭建、部署、优化进行了详细讲解,全书可分为三大部分,其中第一部分讲的是Linux相关的基础且重要的知识,第二部分针对当下流行的Web环境架构(LNMP)的搭建及企业级Web优化等进行了讲解,第三部分讲的是Web集群后端的数据存储和Web集群前端的负载均衡高可用。如果你是一名经验丰富的资深Linux用户,可以直接阅读第二部分内容。但如果你是一名Linux初学者,请一定从第1章的基础知识开始学习。

  第一部分为基础篇(第1~4章),简单地介绍了Linux的历史沿革、Linux的企业级选型、学习环境的搭建、Linux的企业级系统安装、Linux系统的基础优化,以及远程连接Linux及客户端SSH的设置等,最后比较深入地讲解了HTTP协议和www服务相关知识,为读者搭建企业级Web集群环境做好了准备。

  第二部分为Web服务篇(第5~8章),着重讲解了Linux、Nginx、MySQL、PHP(LNMP)等当下流行的Web环境架构的搭建、开源blog网站产品的安装部署、Web优化等知识。为读者搭建企业级完整的网站Web集群架构做好了准备。

  第三部分为集群篇(第9~15章),着重讲解了Web集群后端的MySQL数据库、Web集群共享存储NFS、Nginx反向代理负载均衡、Keepalived高可用、Memcached缓存及session共享、Nagios企业级监控等技术实战,最后为读者规划了一个中等规模的网站集群架构解决方案。

  老男孩的运维思想

  决定战争胜负的不是战斗的瞬间,而是决战前的各种准备。准备工作做得越充分,取胜的几率就越大!映射到Linux运维就是要多未雨绸缪,多提前去思考、规划和准备,不要一上来就部署服务,遇到问题了再到处去找资料;更不要等出了故障才急急忙忙救火,而是要在故障发生前,就去排查潜在的问题隐患,尽可能做到提前预防!

  IT运维及架构师要有捕捉知识的能力、发现问题的能力,然后用捕捉到的专业知识或方案来解决发现的各种问题。

  技术细节学不完,掌握解决问题的思路和思想才是关键,技术能力的提升只是量的积累,思想的提升才是质的飞跃!

  输入是被动学习的过程,知识的留存率很低(低于30%);输出是主动学习的过程,知识的留存率很高(可达90%以上),想忘都难。作为运维人员,多去解决实际问题,并把思路讲出来,会让你成长得更快。即使后面遇到技术难题,也能很快找到解决思路。

作者简介:

  老男孩,北京老男孩IT教育创始人,拥有十多年一线大规模网站集群运维架构实战经验及教学培训经验,曾主导了从几台到上千台规模集群运维架构的扩展,运维架构实战知识体系全面,擅长大规模集群架构部署调优、虚拟化、云计算、大数据、MySQL数据库等技术,是IT界资深的Linux集群架构实战专家。

  老男孩也是国内NLP心理学运维思想体系创始人,将心理学运维思想大量应用于教学培训实践,取得了显著效果,所教学生平均就业工资及后期发展速度连续多年在国内Linux同行业中处于领先地位。

  授课注重理论结合企业真实场景,认真负责,思维严谨,重视对学生的运维思想、规范、习惯、总结、表达沟通等能力的培养,累计受益人员数万!

书籍目录:

前  言

第1章 Linux系统介绍与环境搭建准备 / 1

1.1 Linux简介 / 1

1.1.1 什么是操作系统 / 1

1.1.2 什么是Linux / 2

1.2 Linux的起源 / 3

1.2.1 UNIX的历史 / 3

1.2.2 UNIX的5大优秀特性 / 4

1.2.3 UNIX操作系统的革命 / 4

1.2.4 Linux的诞生 / 5

1.2.5 Linux的发展历程 / 5

1.3 Linux核心概念知识 / 6

1.3.1 自由软件与FSF / 6

1.3.2 GNU知识 / 7

1.3.3 GPL知识 / 8

1.3.4 Linux系统组成 / 8

1.4 Linux的特点 / 8

1.4.1 Linux为什么受欢迎 / 8

1.4.2 Linux更多特点介绍 / 9

1.5 Linux的应用领域 / 9

1.5.1 IT服务器Linux系统应用领域 / 9

1.5.2 嵌入式Linux系统应用领域 / 10

1.5.3 个人桌面Linux应用领域 / 11

1.5.4 本书讲解的Linux领域说明 / 11

1.6 如何选择Linux的发行版 / 11

1.6.1 Linux的发行版本介绍 / 11

1.6.2 选择适合的Linux系统学习 / 12

1.7 搭建学习Linux的运维环境 / 14

1.7.1 虚拟机软件介绍 / 14

1.7.2 通过虚拟机软件学习Linux运维 / 15

1.7.3 选择适合自己的虚拟机软件 / 16

1.7.4 安装与使用VMware虚拟机软件 / 17

1.7.5 创建一个虚拟机的实践 / 17

1.8 本章重点回顾 / 26

1.9 本章知识相关考试题 / 27

1.10 本章参考资料 / 27

第2章 企业级CentOS 6.6操作系统安装 / 28

2.1 下载CentOS系统ISO镜像 / 28

2.1.1 下载CentOS系统ISO镜像的说明 / 28

2.1.2 下载后有关ISO镜像的使用说明 / 29

2.1.3 为什么企业环境要选择64位操作系统 / 30

2.1.4 如何区分已安装的系统是32位还是64位 / 31

2.1.5 在学习与工作中如何选择操作系统 / 31

2.2 CentOS 6.6操作系统安装准备 / 32

2.2.1 单台物理服务器安装系统准备 / 32

2.2.2 虚拟机学习安装系统准备 / 32

2.3 开始安装CentOS 6.6操作系统 / 33

2.3.1 安装CentOS 6.6操作系统的过程 / 33

2.3.2 磁盘分区类型选择与磁盘分区配置过程 / 39

2.3.3 CentOS 6.6系统安装包组的选择与配置过程 / 47

2.4 系统安装后的基本配置 / 50

2.4.1 重启系统过程中的引导过程介绍 / 50

2.4.2 登录系统 / 51

2.4.3 配置网卡和设置网络联网 / 52

2.4.4 更新系统,打补丁到最新 / 58

2.4.5 额外安装一些有用的软件包 / 59

2.5 本章重点回顾 / 59

2.6 本章知识相关考试题 / 60

第3章 CentOS 6.6连接管理及优化 / 61

3.1 远程连接Linux系统管理 / 61

3.1.1 为什么要远程连接Linux系统 / 61

3.1.2 远程连接Linux的原理 / 61

3.1.3 远程连接Linux的客户端工具介绍 / 65

3.1.4 如何选择远程连接Linux的工具 / 65

3.2 SSH客户端常用工具SecureCRT / 66

3.2.1 SecureCRT工具介绍 / 66

3.2.2 SecureCRT工具安装说明 / 66

3.2.3 配置SecureCRT连接Linux主机 / 66

3.2.4 通过SSH工具连接Linux主机的常见问题 / 67

3.2.5 调整SecureCRT终端显示和回滚缓冲区大小 / 69

3.2.6 调整字体及光标颜色 / 70

3.2.7 配置记录SSH操作的日志及输出 / 70

3.2.8 配置本地机器上传和下载的目录 / 71

3.2.9 实现批量部署和管理功能 / 73

3.2.10 配置SecureCRT标签路径 / 75

3.2.11 配置标签模板 / 75

3.2.12 调整命令行颜色方案(目录和注释) / 76

3.3 Linux系统应用管理 / 77

3.3.1 添加普通用户账号 / 77

3.3.2 基本的Linux命令操作示例 / 79

3.4 安装Linux系统后调优及安全设置 / 83

3.4.1 关闭SELinux功能 / 83

3.4.2 设定运行级别为3(文本模式) / 84

3.4.3 精简开机系统自启动 / 84

3.4.4 关闭iptables防火墙 / 88

3.4.5 Linux系统安全最小原则说明 / 88

3.4.6 更改SSH服务器端远程登录的配置 / 89

3.4.7 利用sudo控制用户对系统命令的使用权限 / 91

3.4.8 Linux中文显示设置 / 95

3.4.9 设置Linux服务器时间同步 / 96

3.4.10 历史记录数及登录超时环境变量设置 / 98

3.4.11 调整Linux系统文件描述符数量 / 99

3.4.12 Linux服务器内核参数优化 / 100

3.4.13 定时清理邮件服务临时目录垃圾文件 / 103

3.4.14 隐藏Linux版本信息显示 / 104

3.4.15 锁定关键系统文件,防止被提权篡改 / 104

3.4.16 清除多余的系统虚拟账号 / 105

3.4.17 为grub菜单加密码 / 105

3.4.18 禁止Linux系统被ping / 106

3.4.19 升级具有典型漏洞的软件版本 / 107

3.5 Linux基础优化与安全重点小结 / 107

3.6 有关VMware虚拟机的使用问题 / 108

3.7 本章重点回顾 / 109

3.8 本章知识相关考试题 / 109

第4章 Web服务基础 / 110

4.1 HTTP服务的重要基础 / 110

4.2 HTTP协议 / 115

4.3 HTTP资源 / 123

4.4 网站流量度量术语 / 129

4.5 WWW服务软件介绍 / 135

4.6 本章重点回顾 / 138

4.7 本章知识相关面试考试题 / 138

4.8 本章参考资料 / 139

第5章 Nginx Web服务应用 / 140

5.1 Nginx介绍 / 140

5.2 Nginx Web服务 / 144

5.3 编译安装Nginx / 147

5.4 Nginx技术的深入剖析 / 156

5.5 Nginx虚拟主机配置实战 / 162

5.6 Nginx常用功能配置实战 / 174

5.7 Nginx访问日志(access_log) / 184

5.8 Nginx location / 190

5.9 Nginx rewrite / 194

5.10 Nginx访问认证 / 198

5.11 Nginx相关问题的解答 / 201

5.12 本章重点回顾 / 204

第6章 企业级LNMP环境应用实践 / 205

6.1 LNMP应用环境 / 205

6.2 LNMP之MySQL数据库 / 206

6.3 FastCGI介绍 / 217

6.4 LNMP之PHP(FastCGI方式)服务的安装准备 / 218

6.5 开始安装PHP(FastCGI方式)服务 / 222

6.6 配置Nginx支持PHP程序请求访问 / 227

6.7 部署一个blog程序服务 / 230

6.8 有关使用高版本PHP 5.5的说明 / 240

6.9 本章重点回顾 / 241

6.10 本章参考资料 / 241

第7章 PHP服务缓存加速优化实战 / 242

7.1 PHP缓存加速器介绍与环境准备 / 242

7.2 安装PHP缓存加速器扩展 / 247

7.3 安装数据库缓存及其他PHP扩展插件 / 252

7.4 安装其他的PHP扩展插件模块 / 256

7.5 配置PHP加速与缓存相关的扩展插件模块 / 261

7.6 生产环境PHP扩展插件的安装建议 / 278

7.7 补充知识 / 279

7.8 PHP缓存加速压力测试练习 / 280

7.9 本章参考资料 / 281

第8章 企业级Nginx Web服务优化实战 / 282

8.1 Nginx基本安全优化 / 282

8.2 根据参数优化Nginx服务性能 / 288

8.3 Nginx日志相关优化与安全 / 311

8.4 Nginx站点目录及文件URL访问控制 / 313

8.5 Nginx图片及目录防盗链解决方案 / 317

8.6 Nginx错误页面的优雅显示 / 324

8.7 Nginx站点目录文件及目录权限优化 / 327

8.8 Nginx防爬虫优化 / 329

8.9 利用Nginx限制HTTP的请求方法 / 331

8.10 使用CDN做网站内容加速 / 331

8.11 Nginx程序架构优化 / 333

8.12 使用普通用户启动Nginx(监牢模式) / 334

8.13 控制Nginx并发连接数量 / 338

8.14 控制客户端请求Nginx的速率 / 342

8.15 本章重点回顾 / 344

第9章 MySQL数据库企业级应用实践 / 345

9.1 概述 / 345

9.2 MySQL多实例介绍 / 346

9.3 MySQL多实例的生产应用场景 / 347

9.4 MySQL多实例常见的配置方案 / 348

9.5 安装并配置多实例MySQL数据库 / 350

9.6 配置及管理MySQL多实例数据库 / 363

9.7 MySQL主从复制介绍 / 367

9.8 MySQL主从复制实践 / 373

9.9 MySQL主从复制更多应用技巧实践 / 389

9.10 本章重点回顾 / 395

9.11 本章参考资料 / 395

第10章 企业级NFS网络文件共享服务 / 396

10.1 NFS介绍 / 396

10.2 NFS系统原理介绍 / 399

10.3 NFS服务器端部署环境准备 / 403

10.4 NFS服务器端的设置 / 404

10.5 实战配置NFS服务器端 / 410

10.6 NFS配置参数权限 / 411

10.7 NFS服务企业案例配置实践 / 413

10.8 NFS服务的重点知识梳理 / 417

10.9 NFS客户端挂载命令 / 418

10.10 生产环境高级案例配置实战 / 422

10.11 NFS客户端挂载深入 / 424

10.12 NFS系统应用的优缺点说明 / 429

10.13 本章涉及的相关知识 / 430

10.14 本章重点回顾 / 435

10.15 本章参考资料 / 435

第11章 Nginx反向代理与负载均衡应用实践 / 436

11.1 集群简介 / 436

11.2 为什么要使用集群 / 436

11.3 集群的分类 / 439

11.4 常用的集群软硬件介绍及选型 / 441

11.5 Nginx负载均衡集群介绍 / 442

11.6 快速实践Nginx负载均衡环境准备 / 443

11.7 Nginx负载均衡核心组件介绍 / 449

11.8 Nginx负载均衡配置实战 / 456

11.9 Nginx负载均衡监测节点状态 / 475

11.10 proxy_next_upstream参数补充 / 478

11.11 本章重点回顾 / 478

第12章 Keepalived高可用集群应用实践 / 479

12.1 Keepalived高可用软件 / 479

12.2 Keepalived高可用服务搭建准备 / 482

12.3 Keepalived高可用服务单实例实战 / 486

12.4 Keepalived高可用服务器的“裂脑”问题 / 491

12.5 Keepalived双实例双主模式配置 / 492

12.6 Nginx负载均衡配合Keepalived服务案例实战 / 498

12.7 解决服务监听的网卡上不存在IP地址问题 / 502

12.8 解决高可用服务只针对物理服务器的问题 / 502

12.9 解决多组Keepalived服务器在一个局域网的冲突问题 / 505

12.10 配置指定文件接收Keepalived服务日志 / 505

12.11 开发监测Keepalived裂脑的脚本 / 507

12.12 本章重点回顾 / 508

第13章 企业级Memcached服务应用实践 / 509

13.1 Memcached介绍 / 509

13.2 Memcached的用途与应用场景 / 511

13.3 Memcached的特点与工作机制 / 514

13.4 Memcached内存管理 / 517

13.5 Memcached服务安装 / 521

13.6 Memcached服务的基本管理 / 522

13.7 安装Memcached客户端 / 527

13.8 Memcached应用管理 / 530

13.9 Memcached服务应用的优化 / 538

13.10 Memcached在集群中session共享案例 / 546

13.11 Memcached兼容持久化工具介绍 / 547

13.12 本章重点回顾 / 549

第14章 企业级监控Nagios实践 / 550

14.1 Nagios监控简介 / 550

14.2 Nagios监控工具及原理介绍 / 551

14.3 Nagios服务器端安装 / 555

14.4 Nagios客户端安装 / 571

14.5 Nagios服务器端监控 / 578

14.6 服务器端Nagios图形监控显示和管理 / 604

14.7 实现将Nagios故障报警给管理员 / 616

14.8 Nagios插件开发 / 622

14.9 常见故障问题总结 / 631

14.10 本章重点回顾 / 631

第15章 企业级网站集群搭建综合解决方案 / 632

15.1 企业级中小规模网站集群项目规划 / 632

15.2 集群服务搭建详细规划设计说明 / 641

15.3 中小规模网站集群架构综合说明 / 662

15.3.1 概述 / 662

15.3.2 运维人员的两大核心工作主题 / 664

书籍前言:

  为什么要写这本书

  不知不觉接触Linux(之前用的是Solaris)已经有16个年头了,在这16年的运维职业生涯中,我走了相当多的弯路,特别是头两年,相当迷茫、彷徨,最要命的是无论怎么努力学习和坚持,就是感觉自己没有入门。那时,优秀的学习书籍寥寥无几,工作中也无人指导,更没有规范的培训机构,一遇到服务器故障就会无所适从,无数次都是在痛苦的挣扎中度过的,也有无数次想要放弃学习Linux。

  后来我慢慢地积累了一些经验,有了自己的运维心得。在我的运维技术有了质的飞跃之后,我开始酝酿一套Linux培训体系课程,最初的目的就是希望大家不要重走我走过的弯路,因为这条路充满了荆棘,一不小心就可能走不出来了。

  经过一段时间的酝酿,我将自己的想法写成一份项目策划书,发给了公司领导,希望公司能够开展IT培训相关的业务,而我可以负责这块业务。领导首肯了我的策划书,但是在接下来的日子没有任何行动,可能是觉得时机不够成熟吧。

  但是我的心却被策划书给拽走了,于是开始了我的兼职IT培训生涯,这就是“老男孩IT教育”的前身。在多年的培训过程中我发现,很多小伙伴因为条件的限制无法到北京现场学习,虽然我们也录制了大量网络视频,但还是有网友非常希望老男孩能够把讲课的内容整理成书,以便深入学习。看到小伙伴们热切的期盼,我心动了,于是开始计划把讲课的内容整理成书,让全国的小伙伴都能够从中受益。

  但是由于培训讲课的排期很紧,课程很多,平时还要在企业里工作,而且写书和讲课也是不同的路数,因此写书计划被一次次地搁浅,直至遇到了她——机械工业出版社华章公司的Lisa,正是因为她的执着、包容、鼓励,使得我有足够的信心和动力完成此书,并且即将策划与Linux运维实战相关的更多图书,这些书后续会一一与大家见面。

  目前,全球进入了“互联网+”时代,越来越多的传统企业都在考虑通过网络提供产品和服务,包括互联网+教育、互联网+金融、互联网电商、互联网+出租车、互联网+保险等。而互联网的背后就是Linux技术的时代(包括移动互联网在内),掌握Linux运维技术已经成为每一个IT技术人员的必经之路,本书的中小规模网站集群架构实战就是构建在Linux系统上的高性能、高并发企业级网站集群架构上的解决方案!

  读者对象

  Linux系统管理员和运维工程师

  互联网网站开发及数据库管理人员

  网络管理员和项目实施工程师

  Linux相关售前售后技术工程师

  开设Linux相关课程的大中专院校

  对Linux感兴趣的人群

  如何阅读本书

  本书针对中小规模网站集群的搭建、部署、优化进行了详细讲解,全书可分为三大部分,其中第一部分介绍与Linux相关的基础且重要的知识,第二部分针对当下流行的Web环境架构(LNMP)的搭建及企业级Web优化等进行了讲解,第三部分介绍Web集群后端的数据存储及Web集群前端的负载均衡和高可用。如果你是一名经验丰富的资深Linux用户,可以直接阅读第二部分内容;如果你是一名Linux初学者,请务必从第1章的基础知识开始学习。

  第一部分为基础篇(第1~4章),简单地介绍了Linux的历史沿革、Linux的企业级选型、学习环境的搭建、Linux的企业级系统安装、Linux系统的基础优化,以及远程连接Linux及客户端SSH的设置等,最后比较深入地讲解了HTTP协议和WWW服务相关知识,为读者搭建企业级Web集群环境做好了准备。

  第二部分为Web服务篇(第5~8章),着重讲解了Linux、Nginx、MySQL、PHP(LNMP)等当下流行的Web环境架构的搭建、开源blog网站产品的安装部署、Web优化等知识。为读者搭建企业级完整的网站Web集群架构做好了准备。

  第三部分为集群篇(第9~15章),着重讲解了Web集群后端的MySQL数据库、Web集群共享存储NFS、Nginx反向代理负载均衡、Keepalived高可用、Memcached缓存及session共享、Nagios企业级监控等技术实战,最后为读者规划了一个中等规模的网站集群架构解决方案。

  勘误和支持

  由于作者的水平有限,加之编写的时间仓促,书中难免会出现一些错误或者不准确的地方,不妥之处在所难免,恳请读者批评指正。你可以将书中的错误发布到我专门为本书准备的博客地址处:http://oldboy.blog.51cto.com/2561410/1713128,或者在我的微博(http://weibo.com/oldboy8)上留言。同时如果你遇到任何问题,可以加入我为本书提供的两个QQ交流群(339128815和226199808),我将尽量为读者提供最满意的解答。书中所需的各种工具及程序文件也都将发布在上述QQ群及我的博客网站上,我也会将本书的勘误等及时更新。如果你有更多的宝贵意见,也欢迎你发送邮件至我的邮箱(oldboy@oldboyedu.com),我很期待能够听到你们的真挚反馈。

  致谢

  首先要感谢伟大的Linux系统开发者Linus Torvalds,是他开创了一款影响我一生的软件。

  感谢李泳谊、王洪志,感谢你们在百忙之中为本书供图!

  感谢王硕导师及每一个运维课程班级的班长及班干部,感谢你们替我分担老男孩IT教育众多学员的批改作业、答疑、就业指导和管理工作。

  感谢老男孩IT教育的每一位学员——是你们的长期支持使得老男孩IT教育的业绩蒸蒸日上,让我有较多时间持续写作。感谢你们对老男孩IT教育的支持。

  感谢我的同事Python自动化开发课程的Alex(李杰)老师和武老师,高级架构师课程的赵班长老师,高薪运维就业课程的张耀助教老师,课程顾问歪歪老师、小雨老师、飞雪老师、环宇老师及其他未提及名字的老师,正是你们辛勤努力的工作,使得我有时间完成此书。

  感谢中网志腾的郭威和实利通和的王斐和梁露,感谢你们提供给我的多台DELL物理服务器,使得本书得以高效顺利地完成!

  感谢森华易腾的陆锦云女士及其同事,感谢你们提供IDC机房带宽资源并长期支持,使得本书得以顺利完成!

  感谢机械工业出版社华章公司的编辑Lisa,感谢你的执着支持、包容和鼓励,在近一年的时间中始终支持我的写作,是你的鼓励和帮助引导我能顺利完成全部书稿。

  最后要感谢我的父母、家人,感谢你们将我培养成人,并时时刻刻为我灌输着信心和力量!

  谨以此书,献给支持老男孩IT教育的每一位朋友、学员,以及众多热爱Linux运维技术的朋友。

  老男孩