编辑推荐
资深运维架构实战专家及教育培训界专家十多年的运维实战经验总结,系统讲解网站集群架构的框架模型以及各个节点的企业级搭建和优化。
实战性强,不仅讲解了Web集群所涉及的各种技术,还针对整个集群中的每个网络服务节点给出解决方案,并指导你细致掌握Web集群的运维规范和方法
内容简介
本书针对中小规模网站集群的搭建、部署、优化进行了详细讲解,全书可分为三大部分,其中第一部分讲的是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同行业中处于领先地位。
授课注重理论结合企业真实场景,认真负责,思维严谨,重视对学生的运维思想、规范、习惯、总结、表达沟通等能力的培养,累计受益人员数万!
精彩书评
老男孩教育名满天下,看了老男孩老师的《跟老男孩学Linux运维:Web集群实战》一书,果然名不虚传。全书循序渐进,结合实战场景及典型的企业集群应用来讲解。通过阅读这本书,读者能够轻松掌握Web运维集群的架构精髓,每个Linux运维人员都值得拥有一本,并且可作为工作参考手册,经常翻看。
—— 肖力 《深度实践KVM》作者
互联网运维涉及的知识面非常广,本书涵盖了构架一个Web网站集群所需要的基础知识,以及常用的Web集群开源软件使用实践。通过本书的实战指导,能够帮助新人很快上手搭建一个完整的Web集群架构网站,并掌握相关的知识点,从而胜任企业的运维工作。
——井源 小米运维总监
认识老男孩老师已经有五年了,这五年来我们一直保持着沟通,他不仅仅在技术上不断地给予我指导,更是我的人生导师。如今,师父的学员越来越多,事业也越来越好,唯独不变的是他的教学根本,这也是该书的核心体现。
这本书是老男孩老师十几年运维生涯的一个缩影,由浅入深,很适合一个愿意从事运维工作的小白,而对于有经验的读者,阅读本书则会如虎添翼,书中拿当前主流Web架构LNMP为引线,从前端到后端一步一步指引着你去完成一个中小集群架构站点的运维部署!如果你能认真阅读这本书,再去听听他讲的课,我相信你不仅仅会学到技术,更能欣赏到老男孩老师的技术人生。
今天是2016年第一天,一位熟知老男孩的阿里人隆重向读者推荐此书!
——吕飞 阿里巴巴资深运维工程师
目录
前 言
第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
跟老男孩学Linux运维:Web集群实战 下载 mobi epub pdf txt 电子书 格式