高性能网站构建实战
作者简介:
刘鑫,运维工程师,曾担任过系统讲师,喜欢讨论各种网站架构上的技术,特别是对系统级的优化。对整体架构的把握以及各种架构中运用的技术有一定的实施心得。对Python情有独钟,喜欢编写运维自动化平台、Hadoop的MR等!ChinaUnix社区集群和高可用版块资深版主,经常在社区内发起技术讨论,深受广大CU社区会员喜爱。
内容简介:
《高性能网站构建实战》内容简介:目前,越来越多的网站采用Linux操作系统来提供各种服务,包括搭建Web服务器、文件存储、数据库等。人们对Linux服务器的可靠性、负载能力和计算能力也越来越关注。 《高性能网站构建实战》从高性能站点的实际需求出发,详细介绍了如何使用当前流行的开源软件和工具构建Web站点所需的各种应用服务环境。全书共分为7篇16章和3个简短的附录。 第一篇是架构规划篇,也就是第1章,主要介绍了对企业网站架构的选型、系统的快速安装及初始化高性能系统的一些参数。第二篇为负载应用篇,包括第2章到第4章,分别介绍了LVS+KeepAlived、HAproxy、Nginx这3种负载开源软件的应用。第三篇为页面缓存篇,包括第5章、第6章和第7章;分别介绍了缓存软件Squid和Varnish,以及Nginx的缓存功能。第四篇为Web服务器篇,包括第8章和第9章,分别介绍了Apache、Lighttpd和Nginx这三款流行的Web服务器。第五篇为数据缓存篇(NoSQL),包括第10章、第11章和第12章,分别介绍了Memcached,以及两种当前非常流行的NoSQL数据库软件Redis和MongoDBC。第六篇为文件服务篇,包括第13章和第14章,介绍了MFS和Hadoop。第七篇监控应用篇,也是最后一篇,包括第15章和第16章,介绍了流量监控软件Cacti和系统监视软件Zabbix。附录部分,分别给出了使用ipvsadm命令、HAProxy和Squid的有用参考资料。 《高性能网站构建实战》是作者多年Linux系统架构和运维经验的总结,兼具宏观性知识介绍和具体性实践技能,适合对系统架构、性能维护感兴趣的初级、中级读者学习,对于有经验的系统架构师和运维师也有一定的参考借鉴价值。
目录:
第一篇 架构规划篇 第1章 网站架构简介 2 1.1 网站的硬架构 2 1.1.1 机房的选择 2 1.1.2 带宽的大小 2 1.1.3 服务器的划分 3 1.2 网站的软架构 3 1.2.1 框架的选择 3 1.2.2 逻辑的分层 4 1.3 网站架构需要考虑的几个问题 5 1.3.1 HTML静态化 5 1.3.2 图片服务器分离 5 1.3.3 数据库集群和库表散列 6 1.3.4 缓存 6 1.3.5 镜像 7 1.3.6 负载均衡 7 1.4 操作系统的选择及参数优化 7 1.4.1 用U盘自动安装操作系统 7 1.4.2 系统初始化 13 1.5 小结 17 第二篇 负载应用篇 第2章 LVS+KeepAlived实现高可用集群 20 2.1 软硬负载应用介绍 20 2.1.1 Linux集群简介 20 2.1.2 硬件负载介绍 21 2.1.3 软件负载介绍 23 2.2 搭建LVS+KeepAlived环境 24 2.2.1 LVS的模式原理以及算法 24 2.2.2 KeepAlived简介 28 2.2.3 LVS+KeepAlived环境的实践 29 2.3 FAQ 36 2.4 小结 37 第3章 高性能负载均衡器HAProxy 38 3.1 HAProxy简介及定位 38 3.2 HAProxy的环境配置 38 3.2.1 HAProxy的编译安装 38 3.2.2 HAProxy配置文件详解 44 3.2.3 HAProxy参数优化 49 3.3 配置HAProxy日志 50 3.4 FAQ 51 3.5 小结 52 第4章 轻量级的负载Nginx 53 4.1 Nginx和LVS的比较 53 4.2 Nginx和HAProxy对比 54 4.3 Nginx的负载实现 55 4.3.1 Nginx的安装 55 4.3.2 Nginx配置文件详解 58 4.4 FAQ 63 4.5 小结 64 第三篇 页面缓存篇 第5章 经久不衰的Squid 68 5.1 Squid缓存简介 68 5.1.1 网站缓存简介 68 5.1.2 Squid缓存 69 5.2 Squid实践部署 71 5.2.1 Squid的编译安装 71 5.2.2 Squid透明缓存的配置 73 5.2.3 Squid反向代理的配置 75 5.2.4 Squid配置文件详解 76 5.2.5 Squid缓存管理 78 5.3 Sarg使用简介 78 5.4 FAQ 80 5.5 小结 81 第6章 高性能缓存服务器Varnish 82 6.1 Varnish缓存简介 82 6.1.1 Varnish的结构特点 82 6.1.2 Varnish和Squid的对比 83 6.2 Varnish实践部署 83 6.2.1 Varnish编译安装 83 6.2.2 Varnish缓存的配置 84 6.2.3 Varnish配置文件详解 88 6.2.4 Varnish启动等管理工具 93 6.3 FAQ 95 6.4 小结 96 第7章 轻量级缓存服务器Nginx 97 7.1 Nginx缓存简介 97 7.1.1 Nginx的缓存方式 97 7.1.2 三种缓存的对比 98 7.2 Nginx实践部署 99 7.2.1 Nginx编译安装 99 7.2.2 Nginx缓存的配置 99 7.2.3 Nginx配置文件详解 102 7.2.4 Nginx缓存命中率配置 104 7.3 FAQ 105 7.4 小结 107 第四篇 Web服务器篇 第8章 Apache组建高稳定性Web服务器 110 8.1 Apache简介 110 8.2 Apache的实践 111 8.2.1 Apache的安装 111 8.2.2 Apache的配置 112 8.2.3 Apache启动与停止 115 8.2.4 Apache配置文件详解 116 8.2.5 Apache日志切割 122 8.2.6 Apache实用第三方模块 123 8.3 小结 127 第9章 两款常用的小型Web服务器 128 9.1 Nginx的Web实践 128 9.1.1 Nginx的安装 128 9.1.2 Nginx的Web配置 128 9.1.3 Nginx配置文件详解 131 9.2 Nginx小结 134 9.3 Lighttpd简介 134 9.4 Lighttpd实践 135 9.4.1 Lighttpd安装 135 9.4.2 Lighttpd配置 135 9.4.3 Lighttpd配置文件详解 136 9.5 FAQ 138 9.6 小结 139 第五篇 数据缓存篇 第10章 高性能内存对象缓存Memcached 142 10.1 NoSQL简介 142 10.1.1 什么是NoSQL 142 10.1.2 NoSQL的特点 142 10.1.3 NoSQL开源软件介绍 144 10.2 Memcached实践 148 10.2.1 Memcached简介 148 10.2.2 Memcached的原理 148 10.2.3 Memcached的使用 150 10.2.4 Memcache安装启动 150 10.2.5 Memcached的复制功能 152 10.2.6 Memcached管理 153 10.2.7 Memcached的安全 156 10.3 小结 157 第11章 高性能的key-value数据库Redis 158 11.1 Redis简介 158 11.1.1 什么是Redis 158 11.1.2 Redis的数据结构 158 11.1.3 Redis性能 161 11.2 Redis的实践 161 11.2.1 Redis的安装 161 11.2.2 Redis的配置 162 11.2.3 Redis的启动停止 164 11.2.4 Redis的配置文件详解 166 11.2.5 Redis的管理 170 11.3 FAQ 207 11.4 小结 208 第12章 MongoDB构建分布式文件存储的数据库 209 12.1 MongoDB简介 209 12.1.1 什么是MongoDB 209 12.1.2 MongoDB的特点 209 12.1.3 MongoDB适用场景 210 12.2 MongoDB的实践 211 12.2.1 MongoDB安装启动 211 12.2.2 MongoDB常用命令 215 12.2.3 MongoDB主从配置 221 12.2.4 MongoDB管理工具 223 12.3 FAQ 231 12.4 小结 232 第六篇 文件服务篇 第13章 MFS组建分布式文件系统 234 13.1 分布式文件系统简介 234 13.1.1 分布式文件系统概述 234 13.1.2 分布式文件系统架构 235 13.1.3 常见的开源分布式文件系统 236 13.2 MFS的实践 241 13.2.1 MFS简介 241 13.2.2 MFS安装启动 244 13.2.3 MFS配置文件详解 251 13.2.4 MFS操作 254 13.3 FAQ 257 13.4 小结 258 第14章 云计算之Hadoop的组建 259 14.1 Hadoop简介 259 14.1.1 Hadoop特点 259 14.1.2 Hadoop架构 260 14.1.3 Hadoop主要子项目 261 14.2 Hadoop实践部署 262 14.2.1 Hadoop安装 262 14.2.2 Hadoop集群的配置 263 14.2.3 Hadoop启动 267 14.2.4 Hadoop测试 272 14.2.5 安装第三台slave服务器 273 14.2.6 安装pig 274 14.2.7 安装hive 274 14.2.8 安装jobtracker服务器 276 14.3 Hadoop参数优化 278 14.4 FAQ 281 14.5 小结 283 第七篇 监控应用篇 第15章 服务器监控之Cacti 286 15.1 Cacti概述 286 15.2 Cacti实践部署 287 15.2.1 Cacti编译安装 287 15.2.2 Cacti的使用 297 15.2.3 Cacti的模板使用 305 15.2.4 Cacti的插件使用 308 15.3 FAQ 314 15.4 小结 315 第16章 组建企业级分布式监控系统之Zabbix 316 16.1 Zabbix简介 316 16.1.1 Zabbix的组成 317 16.1.2 Zabbix监控功能优劣对比 317 16.2 Zabbix的实践 319 16.2.1 Zabbix的安装配置 319 16.2.2 为Zabbix添加新主机 330 16.3 Linux流量监控工具iftop 334 16.4 性能监视和分析工具Nmon 336 16.5 FAQ 338 16.6 小结 339 附录A ipvsadm命令参考 340 附录B HAProxy关键字列表 343 附录C Squid客户端命令行参考 346
评论