实战Nginx张宴作者简介、书籍目录、内容摘要、编辑推荐
Nginx是俄罗斯人Igor Sysoev编写的一款高性能的HTTP和反向代理服务器。Nginx选择了epoll和kqueue作为网络I/O模型,在高连接并发的情况下,内存、CPU等系统资源消耗非常低,运行稳定。
本书系统地介绍了Nginx与PHP、RUBY、Python结合的使用方法,Nginx作为反向代理与负载均衡的配置与优化,以及Nginx模块的开发方法,并给出了新浪播客、搜狐博客、六间房、Discuz!官方论坛、迅雷在线、赶集网使用Nginx的应用示例。最后全面地分析了Nginx的核心模块。
本书适合Nginx的初学者,以及有一定基础,希望深入掌握Nginx的网站架构师和Web开发人员。
作者简介
张宴,就职于北京金山软件公司,金山游戏官方网站──逍遥网(xoyo.com)系统架构师,技术支持部平台组组长。曾在新浪网、赶集网等公司任系统工程师、系统架构师,工作内容主要涉及:服务器系统架构设计与部署、系统运维与调优、网络故障解决、网站后端以及接口类PHP程序开发、Unix开源软件二次开发、服务器监控系统开发、系统运维与平台研发团队管理。
书籍目录
第1部分 基础篇
第1章 Nginx简介
1.1 常用的Web服务器简介
1.2 Nginx简介
1.3 选择Nginx的理由
1.4 Nginx与Apache、Lighttpd的综合对比
第2章 Nginx服务器的安装与配置
2.1 安装Nginx服务器所需要的系统资源
2.2 Nginx的下载
2.3 Nginx的安装
2.4 Nginx的启动、停止、平滑重启
2.5 Nginx的平滑重启
2.6 Nginx的信号控制
2.7 Nginx的平滑升级 第2部分 进阶篇
第3章 Nginx的基本配置与优化
3.1 Nginx的完整配置示例
3.2 Nginx的虚拟主机配置
3.3 Nginx的日志文件配置与切割
3.4 Nginx的压缩输出配置
3.5 Nginx的自动列目录配置
3.6 Nginx的浏览器本地缓存设置
第4章 Nginx与PHP(FastCGI)的安装、配置与优化
4.1 获取相关开源程序
4.2 安装PHP 5.2.10(FastCGI模式)
4.3 安装Nginx 0.8.15
4.4 配置开机自动启动Nginx + PHP
4.5 优化Linux内核参数
4.6 在不停止Nginx服务的情况下平滑变更Nginx配置
4.7 编写每天定时切割Nginx日志的脚本
第5章 Nginx与JSP、ASP.NET、Perl的安装与配置
5.1 Nginx与JSP(Tomcat)在Linux上的安装、配置
5.2 Nginx与ASP.NET(Mono+FastCGI)在Linux上的安装、配置
5.3 Nginx与Perl(FastCGI)在Linux上的安装、配置
第6章 Nginx HTTP负载均衡和反向代理的配置与优化
6.1 什么是负载均衡和反向代理
6.2 常见的Web负载均衡方法
6.3 Nginx负载均衡与反向代理的配置实例
6.4 Nginx负载均衡的HTTP Upstream 模块
6.5 Nginx负载均衡服务器的双机高可用
第7章 Nginx的Rewrite规则编写实例
7.1 什么是Nginx的Rewrite规则
7.2 Nginx Rewrite规则相关指令
7.3 PCRE正则表达式语法
7.4 Nginx的Rewrite规则编写实例
7.5 Nginx与Apache的Rewrite规则实例对比
第8章 Nginx模块开发
8.1 Nginx模块概述
8.2 Nginx模块编写实践
第9章 Nginx的Web缓存服务与新浪网的开源NCACHE模块
9.1 什么是Web缓存?
9.2 Nginx的Web缓存服务
9.3 新浪网开源软件项目——基于Nginx的NCache网页缓存系统 第3部分 实战篇
第10章 Nginx在国内知名网站中的应用案例
10.1 Nginx反向代理与负载均衡类网站应用案例
10.2 Nginx+PHP类网站应用案例
第11章 Nginx的非典型应用实例
11.1 用HTTPS(SSL)构建一个安全的Nginx Web服务器
11.2 采用Nginx搭建FLV视频服务器
11.3 Nginx+PHP+MySQL在小内存VPS服务器上的优化
11.4 采用Nginx搭建正向代理服务器 第4部分 模块篇
第12章 Nginx的核心模块
12.1 主模块指令
12.2 主模块变量
12.3 事件模块指令
第13章 Nginx的标准HTTP模块
13.1 HTTP的核心模块
13.2 HTTP Upstream模块
13.3 Http Access 模块
13.4 HTTP Auth Basic 模块
13.5 Http Autoindex 模块
13.6 Http Browser 模块
13.7 Http Charset 模块
13.8 Http Empty Gif模块
13.9 Http Fcgi 模块
13.10 geo 模块
13.11 Gzip 模块
13.12 Http Headers模块
13.13 Http Index模块
13.14 HTTP Referer模块
13.15 Http Limit Zone模块
13.16 Http Limit Req模块
13.17 Http Log模块
13.18 Http Map模块
13.19 Http Memcached模块
13.20 Http Proxy模块
第14章 Nginx的其他HTTP模块
14.1 Http Addition模块
14.2 Embedded Perl模块
14.3 Flv Stream模块
14.3 flv 指令
14.4 Http Gzip Static模块
14.5 Http Random Index模块
14.6 Http Geo IP模块
14.7 Http RealIp模块
14.8 Http SSL模块
14.9 Http Stub Status模块
14.10 Http Sub模块
14.11 Http Dav模块
14.12 Google Perftools模块
14.13 Http XSLT模块
14.14 Http Secure Link模块
14.15 Http Image Filter模块
第15章 Nginx的邮件模块
15.1 Nginx邮件核心模块
15.2 Nginx邮件认证模块
15.3 Nginx邮件代理模块
15.4 Nginx邮件SSL模块
15.5 Nginx邮件模块配置实例 索引 参考资料
章节摘录
第1部分 基础篇
第1章 Nginx简介
1.3 选择Nginx的理由
1.3.3 成本低廉
购买F5 BIG-IP、NetScaler等硬件负载均衡交换机需要十多万甚至几十万人民币。而Nginx为开源软件,采用的是2-clauseBSD-like协议,可以免费使用,并且可用于商业用途。
BSD开源协议是一个给使用者很大自由的协议。协议指出可以自由使用、修改源代码,也可以将修改后的代码作为开源或专有软件再发布。当你发布使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发时,须满足三个条件:
(1)如果再发布的产品中包含源代码,则源代码中必须带有原来代码中的BSD协议。
(2)如果再发布的是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
(3)不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD代码鼓励代码共享,但须尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件,并进行发布和销售,因此它是对商业集成很友好的协议。很多的公司、企业在选用开源产品的时候都会首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或二次开发。
Nginx所采用的2-clause BSD—like license衍生自BSD协议,也就是删掉了BSD协议的第3个条件——“不可以用开源代码的作者/机构名字和原来产品的名字做市场推广”。
编辑推荐
Nginx是俄罗斯人Igor Sysoev编写的一款高性能的HTTP和反向代理服务器。Nginx选择Tepoll和kqueue作为网络I/O模型,在高连接并发的情况下,Nginx是Apache服务器不错的替代品,它能够支持高达50000个并发连接数的响应,运行稳定,且内存、CPU等系统资源消耗非常低。
《实战Nginx:取代Apache的高性能Web服务器》主要分为4个部分:
第1部分为基础篇,介绍了Nginx服务器的安装与配置方法;
第2部分为进阶篇,重点介绍了Nginx的配置优化方法、Nginx与PHP/Ruby/Python/JSP/Pen/Memcached的结合配置方法、Nginx HTTP反向代理与负载均衡的配置与优化、Nginx模块开发等,最后还分析了新浪的开源软件项目——基于Nginx的NCACHE网页缓存系统;
第3部分为实战篇,分析了Nginx在国内知名网站(如新浪播客、搜狐博客等)中的应用案例;
第4部分为模块篇,对Nginx的基本模块和第三方模块进行了集中介绍。
《实战Nginx:取代Apache的高性能Web服务器》是为对配置管理Nginx服务器感兴趣的读者准备的,适用于以前没有接触过Nginx,或者对Nginx有一些了解并希望能够进一步深入学习的专业系统工程师、个人网站站长及Linux/Unix从业人员。