| 作者 |
| 老男孩 |
| 丛书名 |
| Linux/Unix技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9782001061628 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------跟老男孩学Linux运维:高性能Web集群实践(上)--------------------------- 全书共分为12个章节(0-11章)第0章,讲解CentOS7.6操作系统的安装。第1章,主要讲解Web集群架构基础概念知识、架构模型、架构搭建规划、架构优化等。第2章,主要的数据备份工具。第3章,讲解NFS网络文件共享服务。第4章,讲解网站数据实时复制应用与实践。第5章,主要讲解SSHD远程连接工具企业应用实践。第6章,主要讲解Ansiable批量管理工具应用与实践。第7章,主要讲解HTTP及Web服务核心基础知识。第8章,主要讲解Nginx静态Web服务应用实践。第9章,主要讲解企业级LNMP环境部署实践。第10章,主要讲解Nginx反向代理与动静分离架构实战。第11章,主要讲解Keepalived高可用集群实战。 ---------------------------跟老男孩学Linux运维:Shell编程实战--------------------------- 目前全球正处于互联网 的时代,越来越多的传统企业都在通过互联网提供产品和服务,比如,互联网 教育、互联网 金融、互联网 电商、互联网 出租车、互联网 保险等,可以看到,几乎所有的产品、服务都能在网上找到。而支撑互联网的幕后英雄其实就是Linux(包括移动互联网在内),掌握Linux运维技术已经成为每一个IT技术人员的必备技能! ---------------------------跟老男孩学Linux运维: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%以上),想忘都难。作为运维人员,多去解决实际问题,并把思路讲出来,会让你成长得更快。即使后面遇到技术难题,也能很快找到解决思路。 |
| 目录 |
---------------------------跟老男孩学Linux运维:高性能Web集群实践(上)--------------------------- 前言 第1章 企业级CentOS7.6操作系统安装 / 1 1.1 下载CentOS系统ISO镜像 / 1 1.2 CentOS7.6操作系统的安装准备 / 4 1.3 开始安装CentOS7.6操作系统 / 5 1.4 系统安装后的基本配置 / 21 1.5 本章相关问题 / 32 第2章 中小规模Web集群规划与环境准备 / 33 2.1 网站集群架构介绍 / 33 2.2 网站集群架构组成 / 34 2.3 网站集群架构搭建规划 / 40 2.4 网站集群架构系统优化 / 42 第3章 Rsync数据复制软件应用实践 / 51 3.1 Rsync介绍 / 51 3.2 Rsync工作方式介绍与实践 / 53 3.3 Rsync功能应用拓展 / 67 3.4 Rsync企业级应用经验 / 74 3.5 Rsync服务安全 / 77 3.6 Rsync企业常用工作场景 / 78 3.7 Rsync企业级全网备份项目案例介绍与实践 / 80 3.8 Rsync相关参考资料 / 87 3.9 中小规模集群架构实战进度(备份服务器搭建,红旗1) / 87 第4章 企业级NFS网络文件共享服务 / 89 4.1 NFS介绍 / 89 4.2 NFS系统原理介绍 / 93 4.3 NFS服务端部署环境准备 / 97 4.4 NFS服务器端的安装启动 / 97 4.5 实战配置NFS服务器端 / 101 4.6 NFS配置文件权限参数 / 103 4.7 NFS服务配置企业案例实践 / 104 4.8 NFS服务的重点知识梳理 / 109 4.9 NFS客户端挂载排错思路 / 109 4.10 NFS客户端挂载深入讲解 / 110 4.11 NFS系统应用的优缺点说明 / 118 4.12 从集群架构上解决NFS性能压力方案 / 119 4.13 生产环境高级案例中的配置实战 / 119 4.14 本章涉及的相关命令知识 / 121 4.15 NFS服务器端的防火墙控制 / 123 4.16 NFS服务应用中的常见故障排查 / 123 4.17 NFS客户端自动挂载部署方法 / 124 4.18 本章重点与面试题 / 127 4.19 参考资料 / 127 4.20 中小规模集群架构实战进度(NFS存储项目实战,红旗2) / 128 第5章 企业级实时复制应用实践 / 129 5.1 实时复制服务介绍 / 129 5.2 实时复制Inotify机制介绍 / 131 5.3 Sersync实时复制工具介绍 / 141 5.4 大型企业级高并发文件实时复制方案 / 150 5.5 企业级解决NFS存储实时复制案例 / 150 5.6 中小规模集群架构的静态读写弃用NFS存储部署的说明 / 151 5.7 其他网站后端存储解决方案 / 152 5.8 中小规模集群架构实战进度(NFS实时复制,红旗3) / 152 第6章 SSHD远程连接服务的企业应用实践 / 154 6.1 SSH服务介绍 / 154 6.2 SSH服务工具详解 / 158 6.3 SSH服务操作说明 / 164 6.4 SSH服务安全配置 / 167 6.5 SSH远程连接说明 / 168 6.6 SSH服务远程命令 / 169 6.7 企业级SSHD免密码批量管理的企业项目案例 / 173 6.8 本章重点知识小结 / 179 6.9 中小规模集群架构实战进度(SSH批量管理项目实战,红旗4) / 179 第7章 Ansible自动化运维批量管理实践 / 181 7.1 自动化运维发展史 / 181 7.2 Ansible软件介绍 / 183 7.3 Ansible软件实践部署 / 185 7.4 Ansible批量管理方式 / 187 7.5 Ansible软件基础配置 / 191 7.6 Ansible批量管理模式和命令介绍 / 192 7.7 Ansible模块详解 / 194 7.8 Ansible软件的帮助信息 / 214 7.9 Ansible最核心的组件playbook / 215 7.10 中小规模集群架构实战进度(Ansible批量管理项目实战) / 232 第8章 HTTP及Web服务核心基础 / 234 8.1 HTTP服务的重要基础 / 234 8.2 HTTP协议 / 239 8.3 HTTP资源 / 248 8.4 网站流量度量术语 / 254 8.5 WWW服务软件介绍 / 260 8.6 本章重点回顾 / 264 8.7 本章相关面试题 / 264 8.8 本章参考资料 / 264 第9章 Nginx静态Web服务应用实践 / 266 9.1 Nginx介绍 / 266 9.2 Nginx Web服务 / 269 9.3 开始安装Nginx / 272 9.4 Nginx技术深入剖析 / 281 9.5 Nginx虚拟主机配置实战 / 286 9.6 Nginx常用功能配置实战 / 300 9.7 Nginx访问日志(access_log) / 310 9.8 Nginx Location / 316 9.9 Nginx Rewrite / 320 9.10 Nginx访问认证 / 325 9.11 本章重点回顾 / 327 9.12 Nginx相关问题的解答 / 328 9.13 yum安装Nginx完整步骤 / 330 9.14 中小规模集群架构实战进度(静态Nginx服务器,红旗5) / 331 第10章 企业级LNMP环境部署实践 / 333 10.1 LNMP应用环境 / 333 10.2 LNMP之MySQL数据库 / 334 10.3 FastCGI介绍 / 342 10.4 LNMP之PHP(FastCGI)服务安装准备 / 344 10.5 开始安装PHP(FastCGI方式)服务 / 347 10.6 配置Nginx以支持PHP程序请求访问 / 351 10.7 部署一个Blog程序服务 / 354 10.8 有关使用低版本PHP的说明 / 363 10.9 php.ini配置文件的重要参数优化 / 364 10.10 本章重点回顾 / 364 10.11 本章参考资料 / 365 10.12 中小规模集群架构下调整数据库分离出LNMP / 365 10.13 中小规模集群架构下调整Web静态数据以迁移到NFS共享存储中 / 367 10.14 中小规模集群架构实战进度(LNMP服务项目,红旗6~8) / 368 第11章 Nginx反向代理与动静分离集群架构应用实践 / 370 11.1 集群简介 / 370 11.2 为什么要使用集群 / 372 11.3 集群的分类 / 373 11.4 常用的集群软硬件介绍及选型 / 376 11.5 Nginx负载均衡集群介绍 / 377 11.6 快速实践Nginx负载均衡的环境准备 / 378 11.7 Nginx负载均衡核心组件介绍 / 384 11.8 Nginx负载均衡配置实战 / 391 11.9 Nginx负载均衡监测节点状态 / 410 11.10 proxy_next_upstream参数补充 / 413 11.11 本章重点回顾 / 413 11.12 中小规模集群架构实战进度(Nginx反向代理,红旗9) / 413 第12章 Keepalived高可用集群应用实践 / 415 12.1 Keepalived高可用软件 / 415 12.2 Keepalived高可用服务搭建准备 / 418 12.3 Keepalived高可用服务单实例实战 / 422 12.4 Keepalived高可用服务器对的“裂脑”问题 / 426 12.5 Keepalived双实例双主模式配置实战 / 428 12.6 Nginx负载均衡配合Keepalived服务的案例实战 / 433 12.7 解决服务监听的网卡上不存在IP地址的问题 / 436 12.8 解决高可用服务只是针对物理服务器的问题 / 437 12.9 解决多组Keepalived服务器在一个局域网内冲突的问题 / 440 12.10 配置指定文件接收Keepalived服务日志 / 441 12.11 开发监测Keepalived“裂脑”的脚本 / 442 12.12 本章重点回顾 / 443 12.13 中小规模集群架构实战进度(Keepalived高可用,红旗10) / 444 ---------------------------跟老男孩学Linux运维:Shell编程实战--------------------------- 前言 第1章 如何才能学好Shell编程 / 1 1.1 为什么要学习Shell编程 / 1 1.2 学好Shell编程所需的基础知识 / 1 1.3 如何才能学好Shell编程之“老鸟”经验谈 / 3 1.4 学完本书后可以达到何种Shell编程高度 / 5 第2章 Shell脚本初步入门 / 6 2.1 什么是Shell / 6 2.2 什么是Shell脚本 / 7 2.3 Shell脚本在Linux运维工作中的地位 / 8 2.4 脚本语言的种类 / 9 2.4.1 Shell脚本语言的种类 / 9 2.4.2 其他常用的脚本语言种类 / 10 2.4.3 Shell脚本语言的优势 / 11 2.5 常用操作系统默认的Shell / 11 2.6 Shell脚本的建立和执行 / 12 2.6.1 Shell脚本的建立 / 12 2.6.2 Shell脚本的执行 / 15 2.6.3 Shell脚本开发的基本规范及习惯 / 19 第3章 Shell变量的核心基础知识与实践 / 22 3.1 什么是Shell变量 / 22 3.2 环境变量 / 23 3.2.1 自定义环境变量 / 26 3.2.2 显示与取消环境变量 / 28 3.2.3 环境变量初始化与对应文件的生效顺序 / 30 3.3 普通变量 / 31 3.3.1 定义本地变量 / 31 3.3.2 变量定义及变量输出说明 / 35 3.4 变量定义技巧总结 / 40 第4章 Shell变量知识进阶与实践 / 41 4.1 Shell中特殊且重要的变量 / 41 4.1.1 Shell中的特殊位置参数变量 / 41 4.1.2 Shell进程中的特殊状态变量 / 47 4.2 bash Shell内置变量命令 / 52 4.3 Shell变量子串知识及实践 / 55 4.3.1 Shell变量子串介绍 / 55 4.3.2 Shell变量子串的实践 / 56 4.3.3 变量子串的生产场景应用案例 / 59 4.4 Shell特殊扩展变量的知识与实践 / 60 4.4.1 Shell特殊扩展变量介绍 / 60 4.4.2 Shell特殊扩展变量的实践 / 61 4.4.3 Shell特殊扩展变量的生产场景应用案例 / 63 第5章 变量的数值计算实践 / 65 5.1 算术运算符 / 65 5.2 双小括号“(())”数值运算命令 / 66 5.2.1 双小括号“(())”数值运算的基础语法 / 66 5.2.2 双小括号“(())”数值运算实践 / 66 5.3 let运算命令的用法 / 73 5.4 expr命令的用法 / 75 5.4.1 expr命令的基本用法示例 / 75 5.4.2 expr的企业级实战案例详解 / 76 5.5 bc命令的用法 / 81 5.6 awk实现计算 / 83 5.7 declare(同typeset)命令的用法 / 83 5.8 $[]符号的运算示例 / 83 5.9 基于Shell变量输入read命令的运算实践 / 84 5.9.1 read命令基础 / 84 5.9.2 以read命令读入及传参的综合企业案例 / 87 第6章 Shell脚本的条件测试与比较 / 92 6.1 Shell脚本的条件测试 / 92 6.1.1 条件测试方法综述 / 92 6.1.2 test条件测试的简单语法及示例 / 93 6.1.3 [](中括号)条件测试语法及示例 / 94 6.1.4 [[]]条件测试语法及示例 / 95 6.2 文件测试表达式 / 97 6.2.1 文件测试表达式的用法 / 97 6.2.2 文件测试表达式举例 / 97 6.2.3 特殊条件测试表达式案例 / 101 6.3 字符串测试表达式 / 102 6.3.1 字符串测试操作符 / 102 6.3.2 字符串测试生产案例 / 104 6.4 整数二元比较操作符 / 105 6.4.1 整数二元比较操作符介绍 / 105 6.4.2 整数变量测试实践示例 / 107 6.5 逻辑操作符 / 108 6.5.1 逻辑操作符介绍 / 108 6.5.2 逻辑操作符实践示例 / 110 6.5.3 逻辑操作符企业案例 / 112 6.6 测试表达式test、[]、[[]]、(())的区别总结 / 120 第7章 if条件语句的知识与实践 / 121 7.1 if条件语句 / 121 7.1.1 if条件语句的语法 / 121 7.1.2 if条件语句多种条件表达式语法 / 125 7.1.3 单分支if条件语句实践 / 126 7.1.4 if条件语句的深入实践 / 130 7.2 if条件语句企业案例精讲 / 132 7.2.1 监控Web和数据库的企业案例 / 132 7.2.2 比较大小的经典拓展案例 / 142 7.2.3 判断字符串是否为数字的多种思路 / 143 7.2.4 判断字符串长度是否为0的多种思路 / 145 7.2.5 更多的生产场景实战案例 / 145 第8章 Shell函数的知识与实践 / 151 8.1 Shell函数的概念与作用介绍 / 151 8.2 Shell函数的语法 / 152 8.3 Shell函数的执行 / 152 8.4 Shell函数的基础实践 / 153 8.5 利用Shell函数开发企业级URL检测脚本 / 155 8.6 利用Shell函数开发一键优化系统脚本 / 158 8.7 利用Shell函数开发rsync服务启动脚本 / 166 第9章 case条件语句的应用实践 / 169 9.1 case条件语句的语法 / 169 9.2 case条件语句实践 / 171 9.3 实践:给输出的字符串加颜色 / 176 9.3.1 给输出的字符串加颜色的基础知识 / 176 9.3.2 结合case语句给输出的字符串加颜色 / 177 9.3.3 给输出的字符串加背景颜色 / 180 9.4 case语句企业级生产案例 / 181 9.5 case条件语句的Linux系统脚本范例 / 187 9.6 本章小结 / 191 第10章 while循环和until循环的应用实践 / 192 10.1 当型和直到型循环语法 / 192 10.1.1 while循环语句 / 192 10.1.2 until循环语句 / 193 10.2 当型和直到型循环的基本范例 / 194 10.3 让Shell脚本在后台运行的知识 / 195 10.4 企业生产实战:while循环语句实践 / 206 10.5 while循环按行读文件的方式总结 / 210 10.6 企业级生产高级实战案例 / 211 10.7 本章小结 / 215 第11章 for和select循环语句的应用实践 / 217 11.1 for循环语法结构 / 217 11.2 for循环语句的基础实践 / 219 11.3 for循环语句的企业级案例 / 222 11.4 for循环语句的企业高级实战案例 / 230 11.5 Linux系统产生随机数的6种方法 / 239 11.6 select循环语句介绍及语法 / 241 11.7 select循环语句案例 / 242 第12章 循环控制及状态返回值的应用实践 / 249 12.1 break、continue、exit、return的区别和对比 / 249 12.2 break、continue、exit功能执行流程图 / 249 12.3 break、continue、exit、return命令的基础示例 / 251 12.4 循环控制及状态返回值的企业级案例 / 253 第13章 Shell数组的应用实践 / 260 13.1 Shell数组介绍 / 260 13.1.1 为什么会产生Shell数组 / 260 13.1.2 什么是Shell数组 / 260 13.2 Shell数组的定义与增删改查 / 261 13.2.1 Shell数组的定义 / 261 13.2.2 Shell数组的打印及输出 / 262 13.3 Shell数组脚本开发实践 / 265 13.4 Shell数组的重要命令 / 267 13.5 Shell数组相关面试题及高级实战案例 / 268 13.6 合格运维人员必会的脚本列表 / 277 第14章 Shell脚本开发规范 / 279 14.1 Shell脚本基本规范 / 279 14.2 Shell脚本变量命名及引用变量规范 / 281 14.3 Shell函数的命名及函数定义规范 / 282 14.4 Shell脚本(模块)高级命名规范 / 283 14.5 Shell脚本的代码风格 / 283 14.5.1 代码框架 / 283 14.5.2 缩进规范 / 284 14.6 Shell脚本的变量及文件检查规范 / 285 第15章 Shell脚本的调试 / 286 15.1 常见Shell脚本错误范例 / 286 15.1.1 if条件语句缺少结尾关键字 / 286 15.1.2 循环语句缺少关键字 / 287 15.1.3 成对的符号落了单 / 287 15.1.4 中括号两端没空格 / 288 15.1.5 Shell语法调试小结 / 289 15.2 Shell脚本调试技巧 / 289 15.2.1 使用dos2unix命令处理在Windows下开发的脚本 / 289 15.2.2 使用echo命令调试 / 290 15.2.3 使用bash命令参数调试 / 291 15.2.4 使用set命令调试部分脚本内容 / 294 15.2.5 其他调试Shell脚本的工具 / 296 15.3 本章小结 / 296 第16章 Shell脚本开发环境的配置和优化实践 / 297 16.1 使用vim而不是vi编辑器 / 297 16.2 配置文件.vimrc的重要参数介绍 / 298 16.3 让配置文件.vimrc生效 / 304 16.4 使用vim编辑器进行编码测试 / 304 16.4.1 代码自动缩进功能 / 304 16.4.2 代码颜色高亮显示功能说明 / 304 16.5 vim配置文件的自动增加版权功能 / 305 16.6 vim配置文件的代码折叠功能 / 305 16.7 vim编辑器批量缩进及缩进调整技巧 / 305 16.8 其他vim配置文件功能说明 / 307 16.9 vim编辑器常用操作技巧 / 307 第17章 Linux信号及trap命令的企业应用实践 / 310 17.1 信号知识 / 310 17.1.1 信号介绍 / 310 17.1.2 信号列表 / 310 17.2 使用trap控制信号 / 311 17.3 Linux信号及trap命令的生产应用案例 / 313 第18章 Expect自动化交互式程序应用实践 / 317 18.1 Expect介绍 / 317 18.1.1 什么是Expect / 317 18.1.2 为什么要使用Expect / 317 18.2 安装Expect软件 / 318 18.3 小试牛刀:实现Expect自动交互功能 / 318 18.4 Expect程序自动交互的重要命令及实践 / 319 18.4.1 spawn命令 / 320 18.4.2 expect命令 / 320 18.4.3 send命令 / 323 18.4.4 exp_continue命令 / 324 18.4.5 send_user命令 / 324 18.4.6 exit命令 / 325 18.4.7 Expect常用命令总结 / 325 18.5 Expect程序变量 / 326 18.5.1 普通变量 / 326 18.5.2 特殊参数变量 / 326 18.6 Expect程序中的if条件语句 / 327 18.7 Expect中的关键字 / 329 18.7.1 eof关键字 / 329 18.7.2 timeout关键字 / 329 18.8 企业生产场景下的Expect案例 / 330 18.8.1 批量执行命令 / 330 18.8.2 批量发送文件 / 332 18.8.3 批量执行Shell脚本 / 334 18.8.4 自动化部署SSH密钥认证+ansible的项目实战 / 337 18.9 本章小节 / 339 第19章 企业Shell面试题及企业运维实战案例 / 340 19.1 企业Shell面试题案例 / 340 19.1.1 面试题1:批量生成随机字符文件名 / 340 19.1.2 面试题2:批量改名 / 341 19.1.3 面试题3:批量创建特殊要求用户 / 342 19.1.4 面试题4:扫描网络内存活主机 / 342 19.1.5 面试题5:解决DOS攻击 / 343 19.1.6 面试题6:MySQL数据库分库备份 / 344 19.1.7 面试题7:MySQL数据库分库分表备份 / 344 19.1.8 面试题8:筛选符合长度的单词 / 344 19.1.9 面试题9:MySQL主从复制异常监控 / 344 19.1.10 面试题10:比较整数大小 / 344 19.1.11 面试题11:菜单自动化软件部署 / 344 19.1.12 面试题12:Web及MySQL服务异常监测 / 345 19.1.13 面试题13:监控Memcached缓存服务 / 345 19.1.14 面试题14:开发脚本实现入侵检测与报警 / 346 19.1.15 面试题15:开发Rsync服务启动脚本 / 349 19.1.16 面试题16:开发MySQL多实例启动脚本 / 349 19.1.17 面试题17:开发学生实践抓阄脚本 / 351 19.1.18 面试题18:破解RANDOM随机数 / 353 19.1.19 面试题19:批量检查多个网站地址是否正常 / 354 19.1.20 面试题20:单词及字母去重排序 / 355 19.1.21 面试题21:开发脚本管理服务端LVS / 357 19.1.22 面试题22:LVS节点健康检查及管理脚本 / 359 19.1.23 面试题23:LVS客户端配置脚本 / 360 19.1.24 面试题24:模拟keepalived软件高可用 / 361 19.1.25 面试题25:编写正(或长)方形图形 / 362 19.1.26 面试题26:编写等腰三角形图形字符 / 363 19.1.27 面试题27:编写直角梯形图形字符 / 364 19.1.28 面试题28:51CTO博文爬虫脚本 / 365 19.1.29 面试题29:Nginx负载节点状态监测 / 366 19.2 Shell经典程序案例:哄老婆和女孩的神器 / 369 19.2.1 功能简介 / 369 19.2.2 使用方法 / 369 19.2.3 girlLove工具内容模板 / 370 19.2.4 girlLove工具的Shell源码注释 / 371 19.2.5 girlLove最终结果展示 / 376 第20章 子Shell及Shell嵌套模式知识应用 / 377 20.1 子Shell的知识及实践说明 / 377 20.1.1 什么是子Shell / 377 20.1.2 子Shell的常见产生途径及特点 / 378 20.2 子Shell在企业应用中的“坑” / 383 20.2.1 使用管道与while循环时遭遇的“坑” / 383 20.2.2 解决while循环遭遇的“坑” / 385 20.3 Shell调用脚本的模式说明 / 386 20.3.1 fork模式调用脚本知识 / 386 21.3.2 exec模式调用脚本 / 386 21.3.3 source模式调用脚本 / 387 20.4 Shell调用脚本的3种不同实践方法 / 387 20.4.1 开发测试不同模式区别的Shell脚本 / 387 20.4.2 对比fork模式与source模式的区别 / 390 20.4.3 对比exec模式与source模式的区别 / 391 20.5 Shell调用脚本3种不同模式的应用场景 / 391 附 录 Linux重要命令汇总 / 393 ---------------------------跟老男孩学Linux运维:Web集群实战--------------------------- 前 言 第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.1.1 用户访问网站基本流程 / 110 4.1.2 DNS系统解析基本流程 / 112 4.2 HTTP协议 / 115 4.2.1 HTTP协议简介 / 115 4.2.2 HTTP协议版本 / 116 4.2.3 HTTP请求方法 / 116 4.2.4 HTTP状态码 / 117 4.2.5 HTTP报文 / 118 4.2.6 HTTP协议原理及重点分析 / 122 4.3 HTTP资源 / 123 4.3.1 媒体类型 / 123 4.3.2 URL介绍 / 124 4.3.3 URI介绍 / 124 4.3.4 静态网页资源 / 125 4.3.5 动态网页资源 / 126 4.3.6 伪静态网页 / 127 4.3.7 生产Web架构优化实战方案 / 128 4.4 网站流量度量术语 / 129 4.4.1 IP / 129 4.4.2 PV / 130 4.4.3 UV / 130 4.4.4 企业网站对IP、PV、UV的度量 / 131 4.4.5 IP、PV、UV的区别 / 132 4.4.6 并发连接 / 132 4.4.7 常见企业网站排名及PV/IP访问量 / 134 4.4.8 有关网站度量Linux企业运维的常见面试题 / 135 4.5 WWW服务软件介绍 / 135 4.5.1 WWW软件全球使用排名参考 / 135 4.5.2 当前互联网主流Web服务说明 / 136 4.5.3 WWW静态程序服务软件Apache / 136 4.5.4 WWW静态服务软件Nginx / 137 4.5.5 WWW动态服务软件Resin / 137 4.5.6 WWW动态服务软件Tomcat / 137 4.5.7 WWW动态服务软件PHP / 138 4.6 本章重点回顾 / 138 4.7 本章知识相关面试考试题 / 138 4.8 本章参考资料 / 139 第5章 Nginx Web服务应用 / 140 5.1 Nginx介绍 / 140 5.1.1 Nginx是什么 / 140 5.1.2 Nginx软件的使用排名 / 141 5.1.3 Nginx的重要特性及应用场合 / 142 5.2 Nginx Web服务 / 144 5.2.1 Nginx Web服务介绍 / 144 5.2.2 Nginx与其他Web软件产品的对比说明 / 144 5.2.3 Web服务产品性能对比测试 / 145 5.2.4 为什么Nginx总体性能比Apache高 / 145 5.2.5 如何正确选择Web服务器 / 147 5.3 编译安装Nginx / 147 5.4 Nginx技术的深入剖析 / 156 5.4.1 Nginx软件功能模块说明 / 156 5.4.2 Nginx的结构说明 / 157 5.4.3 Nginx主配置文件nginx.conf / 158 5.4.4 Nginx其他配置文件 / 160 5.5 Nginx虚拟主机配置实战 / 162 5.5.1 虚拟主机的概念和类型介绍 / 162 5.5.2 基于域名的虚拟主机配置实战 / 162 5.5.3 基于端口的虚拟主机配置实战 / 169 5.5.4 基于IP的虚拟主机配置实战 / 171 5.5.5 Nginx配置虚拟主机的步骤 / 172 5.5.6 企业场景中重启Nginx后的检测策略 / 173 5.6 Nginx常用功能配置实战 / 174 5.6.1 规范优化Nginx配置文件 / 174 5.6.2 Nginx虚拟主机的别名配置 / 179 5.6.3 Nginx状态信息功能实战 / 180 5.6.4 为Nginx增加错误日志(error_log)配置 / 183 5.7 Nginx访问日志(access_log) / 184 5.7.1 Nginx访问日志介绍 / 184 5.7.2 访问日志参数 / 184 5.7.3 访问日志配置说明 / 184 5.7.4 访问日志配置实战 / 186 5.7.5 Nginx访问日志轮询切割 / 188 5.8 Nginx location / 190 5.8.1 location作用 / 190 5.8.2 location语法 / 190 5.8.3 location匹配示例 / 190 5.8.4 location匹配实战 / 191 5.9 Nginx rewrite / 194 5.9.1 什么是Nginx rewrite? / 194 5.9.2 Nginx rewrite语法 / 194 5.9.3 Nginx rewrite的企业应用场景 / 195 5.9.4 Nginx rewrite 301跳转 / 196 5.9.5 实现不同域名的URL跳转 / 196 5.10 Nginx访问认证 / 198 5.11 Nginx相关问题的解答 / 201 5.12 本章重点回顾 / 204 第6章 企业级LNMP环境应用实践 / 205 6.1 LNMP应用环境 / 205 6.1.1 LNMP介绍 / 205 6.1.2 LNMP组合工作流程 / 205 6.2 LNMP之MySQL数据库 / 206 6.2.1 MySQL数据库介绍 / 206 6.2.2 为什么选择MySQL数据库 / 207 6.2.3 安装MySQL数据库 / 207 6.2.4 配置并启动MySQL数据库 / 212 6.2.5 MySQL安全配置 / 215 6.3 FastCGI介绍 / 217 6.3.1 什么是CGI / 217 6.3.2 什么是FastCGI / 217 6.3.3 Nginx FastCGI的运行原理 / 218 6.4 LNMP之PHP(FastCGI方式)服务的安装准备 / 218 6.4.1 检查Nginx及MySQL的安装情况 / 218 6.4.2 检查安装PHP所需的lib库 / 219 6.4.3 安装yum无法安装的libiconv库 / 220 6.4.4 安装libmcrypt库 / 221 6.4.5 安装mhash加密扩展库 / 221 6.4.6 安装mcrypt加密扩展库 / 221 6.5 开始安装PHP(FastCGI方式)服务 / 222 6.5.1 获取PHP软件包 / 222 6.5.2 解压配置PHP / 222 6.5.3 编译PHP / 224 6.5.4 安装PHP生成文件到系统 / 225 6.5.5 配置PHP引擎配置文件php.ini / 226 6.5.6 配置PHP服务(FastCGI方式)的配置文件php-fpm.conf / 226 6.5.7 启动PHP服务(FastCGI方式) / 227 6.6 配置Nginx支持PHP程序请求访问 / 227 6.6.1 修改Nginx配置文件 / 227 6.6.2 检查并启动Nginx / 228 6.6.3 测试LNMP环境生效的情况 / 229 6.7 部署一个blog程序服务 / 230 6.7.1 开源博客程序WordPress介绍 / 230 6.7.2 WordPress博客程序的搭建准备 / 231 6.7.3 开始安装blog博客程序 / 234 6.7.4 实现WordPress博客程序URL静态化 / 237 6.8 有关使用高版本PHP 5.5的说明 / 240 6.9 本章重点回顾 / 241 6.10 本章参考资料 / 241 第7章 PHP服务缓存加速优化实战 / 242 7.1 PHP缓存加速器介绍与环境准备 / 242 7.1.1 PHP缓存加速器介绍 / 242 7.1.2 LAMP环境PHP缓存加速器的原理 / 242 7.1.3 LNMP环境PHP缓存加速器的原理详解 / 243 7.1.4 PHP缓存加速器软件种类及选择建议 / 244 7.1.5 PHP缓存加速器安装环境准备 / 245 7.1.6 有关LNMP环境扩展软件的部署说明 / 246 7.2 安装PHP缓存加速器扩展 / 247 7.2.1 安装PHP eAccelerator缓存加速模块 / 247 7.2.2 安装PHP XCache缓存加速模块 / 249 7.2.3 PHP官方加速插件ZendOpcache / 251 7.3 安装数据库缓存及其他PHP扩展插件 / 252 7.3.1 安装PHP Memcached扩展插件 / 252 7.3.2 安装PDO_MYSQL扩展模块 / 255 7.4 安装其他的PHP扩展插件模块 / 256 7.4.1 安装图像处理程序及imagick扩展模块 / 256 7.4.2 检查所有PHP扩展插件模块安装的成果 / 260 7.5 配置PHP加速与缓存相关的扩展插件模块 / 261 7.5.1 配置Memcache/ PDO_MYSQL/ imagick模块生效 / 261 7.5.2 配置eAccelerator插件生效并优化参数 / 264 7.5.3 配置XCache插件加速 / 269 7.5.4 配置ZendOpcache插件加速 / 275 7.6 生产环境PHP扩展插件的安装建议 / 278 7.7 补充知识 / 279 7.7.1 phpize是什么 / 279 7.7.2 PHP指定MySQL的编译参数带来的问题 / 280 7.8 PHP缓存加速压力测试练习 / 280 7.9 本章参考资料 / 281 第8章 企业级Nginx Web服务优化实战 / 282 8.1 Nginx基本安全优化 / 282 8.1.1 调整参数隐藏Nginx软件版本号信息 / 282 8.1.2 更改源码隐藏Nginx软件名及版本号 / 284 8.1.3 更改Nginx服务的默认用户 / 287 8.2 根据参数优化Nginx服务性能 / 288 8.2.1 优化Nginx服务的worker进程个数 / 288 8.2.2 优化绑定不同的Nginx进程到不同的CPU上 / 290 8.2.3 Nginx事件处理模型优化 / 293 8.2.4 调整Nginx单个进程允许的客户端最大连接数 / 294 8.2.5 配置Nginx worker进程最大打开文件数 / 295 8.2.6 优化服务器域名的散列表大小 / 295 8.2.7 开启高效文件传输模式 / 297 8.2.8 优化Nginx连接参数,调整连接超时时间 / 298 8.2.9 上传文件大小的限制(动态应用) / 301 8.2.10 FastCGI相关参数调优(配合PHP引擎动态服务) / 301 8.2.11 配置Nginx gzip压缩实现性能优化 / 305 8.2.12 配置Nginx expires缓存实现性能优化 / 307 8.3 Nginx日志相关优化与安全 / 311 8.3.1 编写脚本实现Nginx access日志轮询 / 311 8.3.2 不记录不需要的访问日志 / 312 8.3.3 访问日志的权限设置 / 313 8.4 Nginx站点及文件URL访问控制 / 313 8.4.1 根据扩展名限制程序和文件访问 / 313 8.4.2 禁止访问指定下的所有文件和 / 314 8.4.3 限制网站来源IP访问 / 315 8.4.4 配置Nginx,禁止非法域名解析访问企业网站 / 316 8.5 Nginx图片及防盗链解决方案 / 317 8.6 Nginx错误页面的优雅显示 / 324 8.6.1 生产环境常见的HTTP状态码列表 / 324 8.6.2 为什么要配置错误页面优雅显示 / 324 8.7 Nginx站点文件及权限优化 / 327 8.8 Nginx防爬虫优化 / 329 8.9 利用Nginx限制HTTP的请求方法 / 331 8.10 使用CDN做网站内容加速 / 331 8.10.1 什么是CDN / 331 8.10.2 CDN的特点 / 332 8.10.3 企业使用CDN的基本要求 / 333 8.11 Nginx程序架构优化 / 333 8.12 使用普通用户启动Nginx(监牢模式) / 334 8.12.1 为什么要让Nginx服务使用普通用户 / 334 8.12.2 给Nginx服务降权的解决方案 / 334 8.12.3 给Nginx服务降权实战 / 335 8.13 控制Nginx并发连接数量 / 338 8.14 控制客户端请求Nginx的速率 / 342 8.15 本章重点回顾 / 344 第9章 MySQL数据库企业级应用实践 / 345 9.1 概述 / 345 9.1.1 MySQL介绍 / 345 9.1.2 MariaDB数据库的诞生背景介绍 / 345 9.2 MySQL多实例介绍 / 346 9.2.1 什么是MySQL多实例 / 346 9.2.2 MySQL多实例的作用与问题 / 346 9.3 MySQL多实例的生产应用场景 / 347 9.4 MySQL多实例常见的配置方案 / 348 9.4.1 单一配置文件、单一启动程序的多实例部署方案 / 348 9.4.2 多配置文件、多启动程序的部署方案 / 349 9.5 安装并配置多实例MySQL数据库 / 350 9.5.1 安装MySQL多实例 / 350 9.5.2 创建MySQL多实例的数据文件 / 352 9.5.3 创建MySQL多实例的配置文件 / 353 9.5.4 创建MySQL多实例的启动文件 / 355 9.5.5 配置MySQL多实例的文件权限 / 358 9.5.6 MySQL相关命令加入全局路径的配置 / 358 9.5.7 初始化MySQL多实例的数据库文件 / 359 9.5.8 启动MySQL多实例数据库 / 361 9.5.9 MySQL多实例启动故障排错说明 / 362 9.6 配置及管理MySQL多实例数据库 / 363 9.7 MySQL主从复制介绍 / 367 9.7.1 概述 / 367 9.7.2 MySQL主从复制的企业应用场景 / 369 9.7.3 实现MySQL主从读写分离的方案 / 370 9.7.4 MySQL主从复制原理介绍 / 371 9.7.5 MySQL主从复制原理过程详细描述 / 372 9.8 MySQL主从复制实践 / 373 9.8.1 主从复制实践准备 / 373 9.8.2 在主库Master上执行操作配置 / 374 9.8.3 在MySQL从库上执行的操作过程 / 379 9.8.4 启动从库同步开关,测试主从复制配置情况 / 382 9.8.5 MySQL主从复制问题汇总 / 384 9.8.6 MySQL主从复制配置步骤小结 / 385 9.8.7 生产场景下轻松部署MySQL主从复制 / 386 9.8.8 MySQL主从复制线程状态说明及用途 / 387 9.9 MySQL主从复制更多应用技巧实践 / 389 9.10 本章重点回顾 / 395 9.11 本章参考资料 / 395 第10章 企业级NFS网络文件共享服务 / 396 10.1 NFS介绍 / 396 10.1.1 什么是NFS / 396 10.1.2 NFS的历史介绍 / 396 10.1.3 NFS在企业中的应用场景 / 397 10.1.4 企业生产集群为什么需要共享存储角色 / 398 10.2 NFS系统原理介绍 / 399 10.2.1 NFS系统挂载结构图解与介绍 / 399 10.2.2 什么是RPC / 401 10.2.3 NFS的工作流程原理 / 402 10.3 NFS服务器端部署环境准备 / 403 10.4 NFS服务器端的设置 / 404 10.4.1 NFS软件列表 / 404 10.4.2 查看NFS软件包 / 404 10.4.3 启动NFS相关服务 / 405 10.4.4 NFS服务常见进程详解 / 407 10.4.5 配置NFS服务器端服务开机自启动 / 409 10.5 实战配置NFS服务器端 / 410 10.5.1 NFS服务器端配置文件路径 / 410 10.5.2 exports配置文件格式 / 410 10.5.3 企业生产场景NFS exports配置实例 / 411 10.6 NFS配置参数权限 / 411 10.7 NFS服务企业案例配置实践 / 413 10.8 NFS服务的重点知识梳理 / 417 10.9 NFS客户端挂载命令 / 418 10.9.1 NFS客户端挂载命令格式 / 418 10.9.2 NFS客户端挂载排错思路 / 419 10.9.3 NFS客户端开机自启动挂载 / 421 10.10 生产环境高级案例配置实战 / 422 10.10.1 指定固定UID用户配置NFS共享的实例 / 422 10.10.2 NFS服务器端的操作步骤 / 422 10.10.3 NFS客户端的操作步骤 / 423 10.11 NFS客户端挂载深入 / 424 10.11.1 NFS客户端挂载参数说明 / 424 10.11.2 NFS客户端挂载优化 / 426 10.12 NFS系统应用的优缺点说明 / 429 10.13 本章涉及的相关知识 / 430 10.13.1 showmount命令说明 / 430 10.13.2 exportfs命令说明 / 431 10.13.3 RPC / 432 10.13.4 NFS服务器端的防火墙控制 / 433 10.13.5 NFS常见故障排查 / 433 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.5.1 搭建负载均衡服务的需求 / 442 11.5.2 Nginx负载均衡集群介绍 / 443 11.6 快速实践Nginx负载均衡环境准备 / 443 11.6.1 软硬件准备 / 444 11.6.2 安装Nginx软件 / 444 11.6.3 配置用于测试的Web服务 / 445 11.6.4 实现一个简单的负载均衡 / 447 11.7 Nginx负载均衡核心组件介绍 / 449 11.7.1 Nginx upstream模块 / 449 11.7.2 http_proxy_module模块 / 455 11.8 Nginx负载均衡配置实战 / 456 11.8.1 配置基于域名虚拟主机的Web节点 / 456 11.8.2 Nginx负载均衡反向代理实践 / 458 11.8.3 根据URL中的地址实现代理转发 / 465 11.8.4 根据客户端的设备(user_agent)转发实践 / 470 11.8.5 根据文件扩展名实现代理转发 / 474 11.9 Nginx负载均衡监测节点状态 / 475 11.10 proxy_next_upstream参数补充 / 478 11.11 本章重点回顾 / 478 第12章 Keepalived高可用集群应用实践 / 479 12.1 Keepalived高可用软件 / 479 12.1.1 Keepalived介绍 / 479 12.1.2 Keepalived服务的三个重要功能 / 479 12.1.3 Keepalived高可用故障切换转移原理 / 480 12.2 Keepalived高可用服务搭建准备 / 482 12.3 Keepalived高可用服务单实例实战 / 486 12.3.1 配置Keepalived实现单实例单IP自动漂移接管 / 486 12.3.2 单实例主备模式Keepalived配置文件对比 / 489 12.4 Keepalived高可用服务器的“裂脑”问题 / 491 12.4.1 什么是裂脑 / 491 12.4.2 导致裂脑发生的原因 / 491 12.4.3 解决裂脑的常见方案 / 491 12.4.4 解决Keepalived裂脑的常见方案 / 492 12.5 Keepalived双实例双主模式配置 / 492 12.5.1 Keepalived双实例双主模式配置实战 / 492 12.5.2 双实例双主模式的配置文件对比 / 496 12.6 Nginx负载均衡配合Keepalived服务案例实战 / 498 12.6.1 在lb01和lb02上配置Nginx负载均衡 / 498 12.6.2 在lb01和lb02上配置Keepalived服务 / 499 12.6.3 用户访问准备及模拟实际访问 / 500 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.1.1 Memcached与常见同类软件对比 / 509 13.1.2 互联网常见内存缓存服务软件 / 510 13.2 Memcached的用途与应用场景 / 511 13.2.1 Memcached常见用途工作流程 / 511 13.2.2 Memcached在企业中的应用场景 / 512 13.3 Memcached的特点与工作机制 / 514 13.3.1 Memcached的特点 / 514 13.3.2 Memcached工作原理与机制 / 515 13.3.3 Memcached预热理念及集群节点的正确重启方法 / 516 13.4 Memcached内存管理 / 517 13.4.1 Memcached内存管理机制深入剖析 / 517 13.4.2 Memcached Slab Allocator内存管理机制的缺点 / 519 13.4.3 使用Growth Factor对Slab Allocator内存管理机制调优 / 519 13.4.4 Memcached的检测过期与删除机制 / 520 13.5 Memcached服务安装 / 521 13.6 Memcached服务的基本管理 / 522 13.6.1 启动 Memcached / 522 13.6.2 Memcached启动命令相关参数说明 / 523 13.6.3 向Memcached中写入数据并检查 / 524 13.6.4 操作Memcached相关命令的语法 / 526 13.6.5 关闭Memcached / 526 13.6.6 企业工作场景中如何配置Memcached / 527 13.7 安装Memcached客户端 / 527 13.8 Memcached应用管理 / 530 13.8.1 通过命令管理Memcached / 530 13.8.2 Memcached状态信息详细说明 / 534 13.8.3 通过memadmin php工具展示Memcached状态信息 / 536 13.9 Memcached服务应用的优化 / 538 13.9.1 Memcached服务应用优化案例 / 538 13.9.2 Memcached服务优化策略 / 539 13.9.3 Memcached服务在大型站点中的架构优化 / 540 13.10 Memcached在集群中session共享案例 / 546 13.10.1 Memcached在集群中的session共享存储实战 / 546 13.10.2 Memcached在集群中的session共享存储的优缺点 / 546 13.11 Memcached兼容持久化工具介绍 / 547 13.11.1 MemcacheDB(key-value) / 547 13.11.2 Tokyo Tyrant(key-value) / 548 13.12 本章重点回顾 / 549 第14章 企业级监控Nagios实践 / 550 14.1 Nagios监控简介 / 550 14.2 Nagios监控工具及原理介绍 / 551 14.2.1 Nagios介绍 / 551 14.2.2 Nagios的特点 / 551 14.2.3 Nagios监控系统家族成员的构成 / 551 14.2.4 Nagios监控系统完整图解 / 554 14.3 Nagios服务器端安装 / 555 14.3.1 Nagios安装准备 / 555 14.3.2 安装Nagios服务器端 / 562 14.4 Nagios客户端安装 / 571 14.4.1 Nagios客户端安装说明 / 571 14.4.2 Nagios客户端安装准备 / 571 14.4.3 在Nagios 客户端安装软件 / 572 14.4.4 配置Nagios客户端nrpe服务 / 576 14.5 Nagios服务器端监控 / 578 14.5.1 Nagios服务器端监控基础介绍 / 578 14.5.2 配置Nagios服务器端监控项 / 584 14.5.3 Nagios的调试 / 603 14.6 服务器端Nagios图形监控显示和管理 / 604 14.6.1 服务器端安装PNP生成图形监控曲线 / 604 14.6.2 配置主机及服务获取状态数据出图 / 609 14.6.3 整合PNP URL超链接到Nagios Web界面 / 613 14.7 实现将Nagios故障报警给管理员 / 616 14.8 Nagios插件开发 / 622 14.8.1 概述 / 622 14.8.2 编写Nagios插件的规则 / 623 14.8.3 使用Shell开发Nagios插件 / 625 14.9 常见故障问题总结 / 631 14.10 本章重点回顾 / 631 第15章 企业级网站集群搭建综合解决方案 / 632 15.1 企业级中小规模网站集群项目规划 / 632 15.1.1 企业级中小规模网站集群架构逻辑图及说明 / 633 15.1.2 集群服务器硬件及操作系统规划 / 634 15.1.3 集群节点的IP地址及主机名规划 / 635 15.1.4 集群节点网络服务规划 / 639 15.1.5 集群节点服务应用的结构规划 / 640 15.2 集群服务搭建详细规划设计说明 / 641 15.2.1 集群服务搭建最佳部署顺序 / 641 15.2.2 集群架构服务搭建规划设计 / 642 15.3 中小规模网站集群架构综合说明 / 662 15.3.1 概述 / 662 15.3.2 运维人员的两大核心工作主题 / 664 |