高性能Linux服务器构建实战

高俊峰

文学

linux 运维 服务器 性能优化 Linux/Unix 计算机 操作系统 性能

2012-1-10

机械工业出版社

目录
前言 第1篇 Web应用篇 第1章 轻量级HTTP服务器Nginx / 2 1.1 什么是Nginx / 2 1.2 为什么要选择Nginx / 2 1.2.1 Nginx与Apache的异同 / 2 1.2.2 选择Nginx的优势所在 / 2 1.3 Nginx的模块与工作原理 / 3 1.4 Nginx的安装与配置 / 4 1.4.1 下载与安装Nginx / 4 1.4.2 Nginx配置文件的结构 / 5 1.4.3 配置与调试Nginx / 6 1.4.4 Nginx的启动、关闭和平滑重启 / 13 1.5 Nginx常用配置实例 / 14 1.5.1 虚拟主机配置实例 / 14 1.5.2 负载均衡配置实例 / 15 1.5.3 防盗链配置实例 / 17 1.5.4 日志分割配置实例 / 17 1.6 Nginx性能优化技巧 / 18 1.6.1 编译安装过程优化 / 18 1.6.2 利用TCMalloc优化Nginx的性能 / 19 1.6.3 Nginx内核参数优化 / 20 1.7 实战Nginx与PHP(FastCGI)的安装、配置与优化 / 22 1.7.1 什么是 FastCGI / 22 1.7.2 Nginx+FastCGI运行原理 / 22 1.7.3 spawn-fcgi与PHP-FPM / 22 1.7.4 PHP与PHP-FPM的安装及优化 / 23 1.7.5 配置Nginx来支持PHP / 26 1.7.6 测试Nginx对PHP的解析功能 / 27 1.7.7 优化Nginx中FastCGI参数的实例 / 27 1.8 实战Nginx与Perl、Java的安装与配置 / 28 1.8.1 Perl(FastCGI)的安装 / 29 1.8.2 为Nginx添加FCGI支持 / 30 1.8.3 测试Nginx +Perl(FastCGI) / 31 1.8.4 搭建Nginx+Java环境 / 32 1.9 本章小结 / 34 第2章 高性能HTTP加速器Varnish / 35 2.1 初识Varnish / 35 2.1.1 Varnish概述 / 35 2.1.2 Varnish的结构与特点 / 35 2.1.3 Varnish与Squid的对比 / 36 2.2 开始安装Varnish / 36 2.2.1 安装前的准备 / 36 2.2.2 获取Varnish软件 / 37 2.2.3 安装pcre / 37 2.2.4 安装Varnish / 37 2.3 配置Varnish / 38 2.3.1 VCL使用说明 / 38 2.3.2 配置一个简单的Varnish实例 / 42 2.3.3 Varnish对应多台Web服务器的配置实例 / 44 2.4 运行Varnish / 48 2.4.1 varnishd指令 / 48 2.4.2 配置Varnish运行脚本 / 48 2.4.3 管理Varnish运行日志 / 49 2.5 管理Varnish / 51 2.5.1 查看Varnish进程 / 51 2.5.2 查看Varnish缓存效果与状态 / 51 2.5.3 通过端口管理Varnish / 53 2.5.4 管理Varnish缓存内容 / 55 2.6 Varnish优化 / 58 2.6.1 优化Linux内核参数 / 58 2.6.2 优化系统资源 / 59 2.6.3 优化Varnish参数 / 61 2.7 Varnish的常见应用实例 / 62 2.7.1 利用Varnish实现图片防盗链 / 62 2.7.2 利用Varnish实现静态文件压缩处理 / 62 2.8 本章小结 / 64 第3章 Memcached应用实战 / 65 3.1 Memcached基础 / 65 3.1.1 什么是Memcached / 65 3.1.2 Memcached的特征 / 66 3.1.3 Memcached的安装 / 67 3.1.4 Memcached的简单使用过程 / 70 3.2 剖析Memcached的工作原理 / 71 3.2.1 Memcached的工作过程 / 71 3.2.2 Slab Allocation的工作机制 / 72 3.2.3 Memcached的删除机制 / 72 3.2.4 Memcached的分布式算法 / 73 3.3 Memcached的管理与性能监控 / 75 3.3.1 如何管理Memcached / 75 3.3.2 Memcached的监控 / 77 3.3.3 Memcached变种产品介绍 / 81 3.4 通过UDFs实现Memcached与MySQL的自动更新 / 82 3.4.1 UDFs使用简介 / 82 3.4.2 memcached_functions_mysql应用实例 / 84 3.4.3 对memcached_functions_mysql的简单功能进行测试 / 87 3.4.4 使用memcached_functions_mysql的经验与技巧 / 88 3.5 本章小结 / 89 第2篇 数据备份恢复篇 第4章 开源网络备份软件bacula / 92 4.1 bacula总体概述 / 92 4.1.1 bacula是什么 / 92 4.1.2 bacula适合哪些用户 / 92 4.1.3 bacula的功能特点 / 93 4.1.4 bacula的工作原理 / 95 4.2 安装bacula / 96 4.2.1 bacula的几种网络备份拓扑 / 96 4.2.2 编译与安装bacula / 97 4.2.3 初始化MySQL数据库 / 98 4.3 配置一个bacula备份系统 / 98 4.3.1 配置bacula的Console端 / 98 4.3.2 配置bacula的Director端 / 99 4.3.3 配置bacula的SD / 103 4.3.4 配置bacula的FD端 / 104 4.4 启动与关闭bacula / 105 4.4.1 启动bacula的Director daemon与Storage daemon / 105 4.4.2 在客户端FD启动File daemon / 106 4.5 实战bacula备份恢复过程 / 106 4.5.1 实例演示bacula的完全备份功能 / 106 4.5.2 实例演示bacula的增量备份功能 / 109 4.5.3 实例演示bacula的差异备份功能 / 110 4.5.4 实例演示bacula的完全恢复功能 / 116 4.5.5 实例演示bacula的不完全恢复功能 / 122 4.6 本章小结 / 125 第5章 数据镜像备份工具rsync与unison / 126 5.1 rsync简介 / 126 5.1.1 什么是rsync / 126 5.1.2 rsync的功能特性 / 126 5.1.3 下载与安装rsync软件 / 127 5.2 利用rsync搭建数据镜像备份系统 / 127 5.2.1 rsync的应用模式 / 127 5.2.2 企业案例:搭建远程容灾备份系统 / 129 5.3 通过rsync+inotify实现数据的实时备份 / 133 5.3.1 rsync的优点与不足 / 133 5.3.2 初识inotify / 133 5.3.3 安装inotify工具inotify-tools / 133 5.3.4 inotify相关参数 / 134 5.3.5 inotifywait相关参数 / 134 5.3.6 企业应用案例:利用rsync+inotify搭建实时同步系统 / 135 5.4 unison简介 / 139 5.5 安装unison / 139 5.6 配置双机ssh信任 / 140 5.6.1 在两台机器上创建 RSA密钥 / 140 5.6.2 添加密钥到授权密钥文件中 / 141 5.7 unison的使用 / 141 5.7.1 本地使用unison / 142 5.7.2 远程使用unison / 143 5.7.3 unison参数说明 / 144 5.7.4 通过配置文件来使用unison / 145 5.8 本章小结 / 147 第6章 ext3文件系统反删除利器ext3grep / 148 6.1 “rm–rf”带来的困惑 / 148 6.2 ext3grep的安装与使用 / 148 6.2.1 ext3grep的恢复原理 / 148 6.2.2 ext3grep的安装过程 / 149 6.3 通过ext3grep恢复误删除的文件与目录 / 150 6.3.1 数据恢复准则 / 150 6.3.2 实战ext3grep恢复文件 / 150 6.4 通过ext3grep恢复误删除的MySQL表 / 154 6.4.1 MySQL存储引擎介绍 / 154 6.4.2 模拟MySQL表被误删除的环境 / 154 6.4.3 通过ext3grep分析数据、恢复数据 / 155 6.5 本章小结 / 159 第3篇 网络存储应用篇 第7章 IP网络存储iSCSI / 162 7.1 存储的概念与术语 / 162 7.1.1 SCSI介绍 / 162 7.1.2 FC介绍 / 162 7.1.3 DAS介绍 / 162 7.1.4 NAS介绍 / 163 7.1.5 SAN介绍 / 163 7.2 iSCSI的概念 / 163 7.3 FC SAN与IP SAN / 164 7.4 iSCSI的组成 / 164 7.4.1 iSCSI Initiator / 165 7.4.2 iSCSI Target / 166 7.5 iSCSI的工作原理 / 166 7.6 搭建基于IP SAN的iSCSI存储系统 / 167 7.6.1 安装iSCSI Target软件 / 168 7.6.2 配置一个简单的iSCSI Target / 169 7.6.3 在Windows上配置iSCSI Initiator / 169 7.6.4 在Linux上配置iSCSI Initiator / 172 7.7 iSCSI 在安全方面的相关设定 / 176 7.7.1 Initiator主机以IP认证方式获取iSCSI Target资源 / 176 7.7.2 Initiator主机以密码认证方式获取iSCSI Target资源 / 177 7.8 iSCSI性能优化方案 / 181 7.8.1 iSCSI性能瓶颈 / 181 7.8.2 iSCSI性能优化 / 181 7.9 本章小结 / 183 第8章 分布式存储系统MFS / 184 8.1 MFS概论 / 184 8.2 MFS 文件系统 / 185 8.2.1 MFS文件系统结构 / 185 8.2.2 MFS的编译与安装实例 / 186 8.3 编译与使用MFS的经验总结 / 199 8.3.1 安装选项说明 / 199 8.3.2 管理服务器 / 200 8.3.3 元数据日志服务器 / 201 8.3.4 数据存储服务器 / 201 8.3.5 客户端挂载 / 203 8.4 管理与使用MFS / 203 8.4.1 在客户端挂载文件系统 / 203 8.4.2 MFS常用操作 / 204 8.4.3 为垃圾箱设定隔离时间 / 207 8.4.4 快照 / 209 8.4.5 MFS的其他命令 / 209 8.5 维护MFS / 210 8.5.1 启动MFS集群 / 210 8.5.2 停止MFS集群 / 210 8.5.3 MFS 数据存储服务器的维护 / 210 8.5.4 MFS元数据的备份 / 211 8.5.5 MFS 管理服务器的恢复 / 211 8.5.6 从备份恢复MFS 管理服务器 / 211 8.6 通过冗余实现失败防护的解决方案 / 212 8.7 本章小结 / 212 第4篇 运维监控与性能优化篇 第9章 运维监控利器Nagios / 216 9.1 Nagios综述 / 216 9.1.1 什么是Nagios / 216 9.1.2 Nagios的结构与特点 / 216 9.2 Nagios的安装与配置 / 217 9.2.1 安装Nagios / 217 9.2.2 配置Nagios / 221 9.3 Nagios的运行和维护 / 231 9.3.1 验证Nagios配置文件的正确性 / 231 9.3.2 启动与停止Nagios / 231 9.3.3 Nagios故障报警 / 232 9.4 Nagios性能分析图表的实现 / 234 9.4.1 Nagios性能分析图表的作用 / 234 9.4.2 PNP的概念与安装环境 / 234 9.4.3 安装PNP / 234 9.4.4 配置PNP / 235 9.4.5 修改Nagios配置文件 / 236 9.4.6 测试PNP功能 / 237 9.5 利用插件扩展Nagios的监控功能 / 238 9.5.1 利用NRPE外部构件监控远程主机 / 238 9.5.2 利用飞信实现Nagios短信报警功能 / 243 9.6 本章小结 / 247 第10章 基于Linux服务器的性能分析与优化 / 248 10.1 系统性能分析的目的 / 248 10.1.1 找到系统性能的瓶颈 / 248 10.1.2 提供性能优化方案 / 248 10.1.3 使系统硬件和软件资源的使用达到平衡 / 249 10.2 分析系统性能涉及的人员 / 249 10.2.1 Linux系统管理人员 / 249 10.2.2 系统架构设计人员 / 249 10.2.3 软件开发人员 / 250 10.3 影响Linux性能的各种因素 / 250 10.3.1 系统硬件资源 / 250 10.3.2 操作系统相关资源 / 252 10.3.3 应用程序软件资源 / 253 10.4 系统性能分析标准和优化原则 / 253 10.5 几种典型应用对系统资源使用的特点 / 254 10.5.1 以静态内容为主的Web应用 / 254 10.5.2 以动态内容为主的Web应用 / 254 10.5.3 数据库应用 / 255 10.5.4 软件下载应用 / 255 10.5.5 流媒体服务应用 / 256 10.6 Linux下常见的性能分析工具 / 256 10.6.1 vmstat命令 / 256 10.6.2 sar命令 / 258 10.6.3 iostat命令 / 260 10.6.4 free命令 / 262 10.6.5 uptime命令 / 263 10.6.6 netstat命令 / 263 10.6.7 top命令 / 265 10.7 基于Web应用的性能分析及优化案例 / 268 10.7.1 基于动态内容为主的网站优化案例 / 268 10.7.2 基于动态、静态内容结合的网站优化案例 / 270 10.8 本章小结 / 272 第5篇 集群高级应用篇 第11章 构建高可用的LVS负载均衡集群 / 274 11.1 LVS集群的组成与特点 / 274 11.1.1 LVS集群的组成 / 274 11.1.2 LVS集群的特点 / 275 11.1.3 LVS集群系统的优缺点 / 278 11.2 高可用 LVS负载均衡集群体系结构 / 278 11.3 高可用性软件Heartbeat与Keepalived / 279 11.3.1 开源HA软件Heartbeat的介绍 / 279 11.3.2 安装heartbeat / 280 11.3.3 开源HA软件Keepalived的介绍 / 280 11.3.4 安装Keepalived / 281 11.4 安装LVS软件 / 282 11.4.1 配置与检查安装环境 / 282 11.4.2 在Director Server上安装IPVS管理软件 / 282 11.5 搭建高可用 LVS集群 / 283 11.5.1 通过heartbeat搭建LVS高可用性集群 / 284 11.5.2 通过Keepalived搭建LVS高可用性集群系统 / 288 11.5.3 通过piranha搭建LVS高可用性集群 / 291 11.6 测试高可用LVS负载均衡集群系统 / 293 11.6.1 高可用性功能测试 / 293 11.6.2 负载均衡测试 / 294 11.6.3 故障切换测试 / 294 11.7 本章小结 / 295 第12章 RHCS集群 / 296 12.1 RHCS集群概述 / 296 12.2 RHCS集群的组成与结构 / 297 12.2.1 RHCS集群的组成 / 297 12.2.2 RHCS集群结构 / 298 12.3 RHCS集群的运行原理及功能 / 299 12.3.1 分布式集群管理器(CMAN)/ 299 12.3.2 锁管理(DLM) / 299 12.3.3 配置文件管理(CCS) / 300 12.3.4 栅设备(Fence) / 301 12.3.5 高可用性服务管理器 / 302 12.3.6 集群配置和管理工具 / 304 12.3.7 Redhat GFS / 304 12.4 安装RHCS / 305 12.4.1 安装前准备工作 / 306 12.4.2 配置共享存储和RHCS管理端Luci / 307 12.4.3 在集群节点上安装RHCS软件包 / 308 12.4.4 在集群节点上安装和配置iSCSI客户端 / 309 12.5 配置RHCS高可用集群 / 309 12.5.1 创建一个cluster / 310 12.5.2 创建Failover Domain / 314 12.5.3 创建Resources / 315 12.5.4 创建Service / 319 12.5.5 配置存储集群GFS / 322 12.5.6 配置表决磁盘 / 325 12.5.7 配置Fence设备 / 328 12.6 管理和维护RHCS集群 / 333 12.6.1 启动RHCS集群 / 333 12.6.2 关闭RHCS集群 / 334 12.6.3 管理应用服务 / 334 12.6.4 监控RHCS集群状态 / 336 12.6.5 管理和维护GFS2文件系统 / 338 12.7 RHCS集群功能测试 / 340 12.7.1 高可用集群测试 / 340 12.7.2 存储集群测试 / 352 12.8 本章小结 / 352 第13章 Oracle RAC集群 / 353 13.1 Oracle集群体系结构 / 353 13.2 Oracle ClusterWare体系结构与进程介绍 / 355 13.2.1 Oracle ClusterWare 简介 / 355 13.2.2 Oracle ClusterWare 进程介绍 / 355 13.3 RAC数据库体系结构与进程 / 356 13.3.1 RAC 简介 / 356 13.3.2 Oracle RAC的特点 / 357 13.3.3 RAC进程管理 / 358 13.3.4 RAC数据库存储规划 / 359 13.4 安装Oracle RAC数据库 / 361 13.4.1 安装前的系统配置需求 / 361 13.4.2 设置数据库安装资源 / 363 13.4.3 配置主机解析文件 / 363 13.4.4 检查所需软件包 / 364 13.4.5 配置系统内核参数 / 364 13.4.6 设置 Shell对Oracle用户的限制 / 365 13.4.7 配置hangcheck-timer内核模块 / 366 13.4.8 配置系统安全设置 / 367 13.4.9 创建Oracle用户和组 / 367 13.4.10 设置Oracle用户环境变量 / 367 13.4.11 配置节点间SSH信任 / 368 13.4.12 配置共享存储系统 / 369 13.4.13 安装Oracle Clusterware / 373 13.4.14 安装Oracle数据库 / 381 13.4.15 配置Oracle Net / 387 13.4.16 创建RAC数据库 / 390 13.5 Oracle CRS的管理与维护 / 404 13.5.1 查看集群状态 / 404 13.5.2 启动与关闭集群服务资源 / 405 13.5.3 启动与关闭CRS / 406 13.5.4 管理voting disk / 407 13.5.5 管理OCR / 408 13.5.6 快速卸载CRS / 410 13.6 ASM基本操作维护 / 411 13.6.1 ASM的特点 / 411 13.6.2 ASM的体系结构与后台进程 / 412 13.6.3 管理ASM实例 / 413 13.7 利用srvctl管理RAC数据库 / 421 13.7.1 查看实例状态(srvctl status) / 422 13.7.2 查看RAC数据库配置信息(srvctl config) / 422 13.7.3 启动/关闭实例(srvctl start/stop) / 423 13.7.4 增加/删除/修改实例(srvctl add/remove/modify) / 423 13.8 测试RAC数据库集群的功能 / 424 13.8.1 负载均衡测试 / 424 13.8.2 透明应用失败切换测试 / 427 13.9 本章小结 / 428 第14章 构建MySQL+heartbeat+DRBD+LVS集群应用系统 / 430 14.1 MySQL高可用集群概述 / 430 14.2 heartbeat + DRBD高可用性方案的实现原理 / 431 14.3 部署MySQL高可用高扩展集群 / 432 14.3.1 配置之前的准备 / 433 14.3.2 DRBD的部署 / 434 14.3.3 DRBD的配置 / 434 14.3.4 DRBD的维护和管理 / 439 14.3.5 DRBD的性能优化 / 440 14.3.6 MySQL的部署 / 441 14.3.7 heartbeat的部署 / 445 14.4 搭建Slave集群 / 448 14.4.1 为什么要搭建Slave集群 / 448 14.4.2 利用LVS+Keepalived搭建高可用MySQL Slave集群 / 448 14.4.3 高可用Slave集群的一些注意点 / 451 14.5 部署MySQL集群要考虑的问题 / 451 14.6 本章小结 / 452
【展开】
内容简介
本书以构建高性能Linux服务器为核心内容,从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等多个方面深入讲解了如何构建高性能的Linux服务器。全书以实战性为导向,所有内容都来自于作者多年实践经验的总结,同时从社区中收集了大量Linux运维人员遇到的有代表性的疑难问题,并给出了优秀的解决方案,实践指导意义极强。 全书分为5个部分。Web应用篇详细介绍了Nginx、Varnish和Memcached这三款Linux服务器上极为常用的Web应用软件的安装、配置、管理、使用方法、工作原理和性能调优技巧。数据备份与恢复篇首先讲述了开源备份软件bacula的使用与管理技巧,并通过实例讲解了在bacula上进行各种备份与恢复操作的具体方法;其次讲解了开源数据镜像备份工具rsync和unison的使用,并通过两个企业级案例演示了这两个工具在生产环境中的使用过程;最后讲解了如何利用ext3grep工具来恢复误删除的数据文件和MySQL数据库的方法。网络存储应用篇首先系统地讲解了网络存储技术iSCSI的配置和使用,然后讲解了分布式存储系统MFS的使用和维护。运维监控与性能优化篇通过理论与实践相结合的方法讲解了如何利用Nagios进行性能监控,以及Linux服务器的性能分析原则和优化方法。集群高级应用篇是前面内容的综合,也是本书的核心,主要讲述了如何通过LVS+heartbeat、piranha、LVS+Keepalived来构建高可用的负载均衡集群,其次讲解了红帽集群套件RHCS的配置、管理、维护和监控,然后讲解了Oracle集群解决方案,即Oracle RAC数据库的构建、使用和维护。最后以构建一个MySQL+heartbeat+DRBD+LVS集群系统的实战案例结束全书,巧妙地将本书的所有核心内容都融合到了一起。
【展开】
下载说明

1、追日是作者栎年创作的原创作品,下载链接均为网友上传的的网盘链接!

2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!

下载链接
热门评论
  • FourTwoFine的评论
    读过《高性能Linux服务器构建实战》 ★★★ “大概的模式是几款常用的开源软件介绍再加上作者自己的项目笔记,还是有不少实打实的经验总结的。多看限免时入的,还挺值。” 高性能Linux服务...
  • 书林苑的评论
    【高性能Linux服务器构建实战:运维监控、性能调优与集群应用【PDF】】本书以构建高性能Linux服务器为核心内容,从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等多个方面深入讲解了如何构建高性能的Linux服务器。全书以实战性为导向,所… 网页链接
  • 华章图书的评论
    #[华章赠书]《高性能Linux服务器构建实战:系统安全、故障排查、自动化运维与集群架构# 畅销书《高性能linux服务器构建实战:运营监控、性能调优与美群应用》姊妹篇,资深运维专家与架构师多年经验结 … (分享自 @Linux中国) 网页链接
  • Linux中国的评论
    #[华章赠书]《高性能Linux服务器构建实战:系统安全、故障排查、自动化运维与集群架构# linux运维领域畅销经典著作,资深运维专家与架构师多年经验结晶!现在起微博关注 @LINUX中国 @华章图书 转发本微博并添加有效评论即有机会获…网页链接
  • IT168文库的评论
    #文库早报#随着虚拟化、云计算时代的来临,Linux得到迅猛发展,在服务器领域已经占据半壁江山,而基于Linux的运维也面临新的挑战。分享“高性能Linux服务器构建实战”网页链接系统安全、故障排查、自动化运维与集群架构。
  • Seay_法师的评论
    【好书推荐:《高性能Linux服务器构建实战 运维监控 性能调优与集群应用》】 网页链接 显示不全请点击全屏阅读 推荐一下这本书,推荐运维工作者必读,不过运维是安全的基础,如果你在安全这块想研究的更深入一些,同样非常推荐这本书。 《高性能Linux服务器构建实战 运维监控 性能调优与...
  • iqlifes的评论
    第1讲iSCSI系统介绍_《高性能Linux服务器构建实战》一书官方配套视频(共43个课时)_51CTO学院 (分享自 @51CTO学院) 网页链接
  • 你的文采我羡慕不来的评论
    《高性能Linux服务器构建实战》一书官方配套视频(共43个课时)_51CTO学院 (分享自 @51CTO学院) 网页链接
  • 51CTO学院的评论
    【《高性能Linux服务器构建实战》一书官方配套视频】讲师:高俊峰,IT系统架构专家,畅销书作者,51CTO专家博主课程地址: 本课程是《高性能Linux服务器构建实战》一书的配套视频学习教材,很系统很全面的高端集群讲解视频,... --发布到微刊《51CTO学院视频课程》《高性能Linux服...
  • 51CTO技术社区的评论
    #推荐专题#【高性能Linux服务器构建实战视频(9讲)】本专题为高俊峰老师的Linux服务器构建的视频, 内容讲解的十分详细,并附有PPT课件作为辅佐,非常大家适合下载学习。网页链接