描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111529835
资深运维架构实战专家及教育培训界专家十多年的运维实战经验总结,系统讲解网站集群架构的框架模型以及各个节点的企业级搭建和优化。
实战性强,不仅讲解了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%以上),想忘都难。作为运维人员,多去解决实际问题,并把思路讲出来,会让你成长得更快。即使后面遇到技术难题,也能很快找到解决思路。
前 言
第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群及我的博客网站上,我也会将本书的勘误等及时更新。如果你有更多的宝贵意见,也欢迎你发送邮件至我的邮箱([email protected]),我很期待能够听到你们的真挚反馈。
致谢
首先要感谢伟大的Linux系统开发者Linus Torvalds,是他开创了一款影响我一生的软件。
感谢李泳谊、王洪志,感谢你们在百忙之中为本书供图!
感谢王硕导师及每一个运维课程班级的班长及班干部,感谢你们替我分担老男孩IT教育众多学员的批改作业、答疑、就业指导和管理工作。
感谢老男孩IT教育的每一位学员——是你们的长期支持使得老男孩IT教育的业绩蒸蒸日上,让我有较多时间持续写作。感谢你们对老男孩IT教育的支持。
感谢我的同事Python自动化开发课程的Alex(李杰)老师和武老师,高级架构师课程的赵班长老师,高薪运维就业课程的张耀助教老师,课程顾问歪歪老师、小雨老师、飞雪老师、环宇老师及其他未提及名字的老师,正是你们辛勤努力的工作,使得我有时间完成此书。
感谢中网志腾的郭威和实利通和的王斐和梁露,感谢你们提供给我的多台DELL物理服务器,使得本书得以高效顺利地完成!
感谢森华易腾的陆锦云女士及其同事,感谢你们提供IDC机房带宽资源并长期支持,使得本书得以顺利完成!
感谢机械工业出版社华章公司的编辑Lisa,感谢你的执着支持、包容和鼓励,在近一年的时间中始终支持我的写作,是你的鼓励和帮助引导我能顺利完成全部书稿。
后要感谢我的父母、家人,感谢你们将我培养成人,并时时刻刻为我灌输着信心和力量!
谨以此书,献给支持老男孩IT教育的每一位朋友、学员,以及众多热爱Linux运维技术的朋友。
老男孩
老男孩教育名满天下,看了老男孩老师的《跟老男孩学Linux运维:Web集群实战》一书,果然名不虚传。全书循序渐进,结合实战场景及典型的企业集群应用来讲解。通过阅读这本书,读者能够轻松掌握Web运维集群的架构精髓,每个Linux运维人员都值得拥有一本,并且可作为工作参考手册,经常翻看。
—— 肖力 《深度实践KVM》作者
互联网运维涉及的知识面非常广,本书涵盖了构架一个Web网站集群所需要的基础知识,以及常用的Web集群开源软件使用实践。通过本书的实战指导,能够帮助新人很快上手搭建一个完整的Web集群架构网站,并掌握相关的知识点,从而胜任企业的运维工作。
——井源 小米运维总监
认识老男孩老师已经有五年了,这五年来我们一直保持着沟通,他不仅仅在技术上不断地给予我指导,更是我的人生导师。如今,师父的学员越来越多,事业也越来越好,唯独不变的是他的教学根本,这也是该书的核心体现。
这本书是老男孩老师十几年运维生涯的一个缩影,由浅入深,很适合一个愿意从事运维工作的小白,而对于有经验的读者,阅读本书则会如虎添翼,书中拿当前主流Web架构LNMP为引线,从前端到后端一步一步指引着你去完成一个中小集群架构站点的运维部署!如果你能认真阅读这本书,再去听听他讲的课,我相信你不仅仅会学到技术,更能欣赏到老男孩老师的技术人生。
今天是2016年*天,一位熟知老男孩的阿里人隆重向读者推荐此书!
——吕飞 *资深运维工程师
评论
还没有评论。