新書推薦:
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:NT$
286.0
《
不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!)
》
售價:NT$
265.0
《
明式家具三十年经眼录
》
售價:NT$
2387.0
《
敦煌写本文献学(增订本)
》
售價:NT$
1010.0
《
耕读史
》
售價:NT$
500.0
《
地理计算与R语言
》
售價:NT$
551.0
《
沈括的知识世界:一种闻见主义的实践(中华学术译丛)
》
售價:NT$
398.0
《
大思维:哥伦比亚商学院六步创新思维模型
》
售價:NT$
332.0
|
編輯推薦: |
《Nginx高性能Web服务器详解》特别适合于希望了解和掌握Nginx服务器应用技术和实现技术的广大教师、学生和电脑爱好者阅读,对使用Nginx服务器搭建Web服务器架构或进行网络服务器应用开发的技术人员尤其具有重要的阅读和参考价值。
|
內容簡介: |
本书全面介绍了当前Internet上流行的一款开放源代码的Web服务器——Nginx。全书一共分为四大部分,分别从入门、功能、实现和应用等四个方面对Nginx服务器的知识进行完整阐述,从而满足广大读者在应用Nginx服务器时的普遍性需求。同时也深入剖析了Nginx服务器的工作原理和实现技术,对其中使用到的数据结构和方法进行了详细阐述,并且结合实际的应用情况给出了多个基于Nginx服务器,同时还部署有其他典型服务器的分布式网站架构部署配置。
本书特别适合于希望了解和掌握Nginx服务器应用技术和实现技术的广大教师、学生和电脑爱好者阅读,对使用Nginx服务器搭建Web服务器架构或进行网络服务器应用开发的技术人员尤其具有重要的阅读和参考价值。
|
目錄:
|
第1章Nginx初探
1.1Nginx的历史
1.2常见服务器产品介绍
1.2.1 Apache服务器
1.2.2Microsoft IIS
1.2.3 Tomcat服务器
1.2.4 Ligh印d服务器
1.2.5 Nginx诞生记
1.2.6版本变更大事记
1.3 Nginx的功能特性
1.3.1基本HTTP服务
1.3.2高级HTIP服务
1.3.3邮件代理服务
1.4常用功能介绍
1.4.1HTTP代理和反向代理
1.4.2负载均衡
1.4.3W曲缓存
1.5本章小结
第2章Nginx服务器的安装部署
2.1如何获取Nginx服务器安装文件
2.1.1获取新版本的Nginx服务器
2.1.2获取Nginx服务器的历史版本
22安装Nginx服务器和基本配置
2.2.1 Windows版本的安装
2.2.2 Linux版本的编译和安装:准备工作
2.2.3Linux版本的编译和安装:Nginx软件的自动脚本
2.2.4 Linux版本的编译和安装:Nginx源代码的编译和安装
2.3 Nginx服务的启停控制
2.3.1 Nginx服务的信号控制
2.3.2 Nginx服务的启动
2.3.3 Nginx服务的停止
2.3.4 Nginx服务的重启
2.3.5 Nginx服务器的升级
2.4 Nginx服务器基础配置指令
2.4.1 nginx.conf文件的结构
2.4.2配置运行Nginx服务器用户(组)
2.4.3配置允许生成的worker process数
2.4.4配置Nginx进程PID存放路径
2.4.5配置错误日志的存放路径
2.4.6配置文件的引入
2.4.7设置网络连接的序列化
2.4.8设置是否允许同时接收多个网络连接
2.4.9事件驱动模型的选择
2.4.10配置最大连接数
2.4.11定义MME—Type
2.4.12自定义服务日志
2.4.13配置允许sendfile方式传输文件
2.4.14配置连接超时时间
2.4.15单连接请求数上限
2.4.16配置网络监听
2.4.17基于名称的虛拟主机配置
2.4.18基于IP的虚拟主机配置
2.4.19配置location块
2.4.20配置请求的根目录
2.4.21更改location的Um
2.4.22设置网站的默认首页
2.4.23设置网站的错误页面
2.4.24基于IP配置Nginx的访问权限
2.4.25基于密码配置Nginx的访问权限
2.5 Nginx服务器基础配置实例
2.5.1测试myServerl的访问
2.5.2测试myServer2的访问
2.6本章小结
第3章Nginx服务器架构初探
3.1模块化结构
3.1.1什么是“模块化设计”
3.1.2 Nginx模块化结构
3.2 Nginx服务器的Web请求处理机制
3.2.1多进程方式
3.2.2多线程方式
3.2.3异步方式
3.2.4 Nginx服务器如何处理请求
3.2.5 Nginx服务器的事件处理机制
3.3 Nginx服务器的事件驱动模型
3.3.1事件驱动模型概述
3.3.2 Nginx中的事件驱动模型
3.3.3select库
3.3.4 poll库
3.3.5 epoll库
3.3.6 rtsig模型
3.3.7其他事件驱动模型
3.4设计架构概览
3.4.1 Nginx服务器架构
3.4.2 Nginx服务器的进程
3.4.3进程交互
3.4.4 Run Loops事件处理循环模型
3.5本章小结
第4章Nginx服务器的高级配置
4.1针对IPv4的内核7个参数的配置优化
4.2针对CPU的Nginx配置优化的2个指令
4.3与网络连接相关的配置的4个指令
4.4与事件驱动模型相关的配置的8个指令
4.5本章小结
第5章Nginx服务器的Gzip压缩
5.1由ngx_http_gzip_module模块处理的9个指令
5.2由ngx_http_gzip_static_module模块处理的指令
5.3由ngx_http_gunzip_module模块处理的2个指令
5.4 Gzip压缩功能的使用
5.4.1 Gzip压缩功能综合配置实例
5.4.2 Gzip压缩功能与IE6浏览器运行脚本的兼容问题
5.4.3 Nginx与其他服务器交互时产生的Gzip压缩功能相关问题
5.5本章小结
第6章Nginx服务器的Rewnte功能
6.1 Nginx后端服务器组的配置的5个指令
6.2 Rewrite功能的配置
6.2.1“地址重写”与“地址转发”
6.2.2 Rewrite规则
6.2.3 if指令
6.2.4 break指令
6.2.5 rewrite指令
6.2.6 rewrite_log指令
6.2.7 set指令
6.2.8 uninitialized_variable—_wam指令
6.2.9 Rewrite常用全局变量
6.3Rewrite的使用
6.3.1域名跳转
6.3.2域名镜像
6.3.3独立域名
6.3.4目录自动添加“/”
6.3.5目录合并
6.3.6防盗链
6.4本章小结
第7章Nginx服务器的代理服务
7.1正向代理与反向代理的概念
7.2 Nginx服务器的正向代理服务
7.2.1 Nginx服务器正向代理服务的配置的3个指令
7.2.2 Nginx服务器正向代理服务的使用
7.3 Nginx服务器的反向代理服务
7.3.1反向代理的基本设置的21个指令
7.3.2 ProxyBuffer的配置的7个指令
7.3.3 ProxyCache的配置的12个指令
7.4Nginx服务器的负载均衡
7.4.1什么是负载均衡
7.4.2 Nginx服务器负载均衡配置
7.4.3配置实例一:对所有请求实现一般轮询规则的负载均衡
7.4.4配置实例二:对所有请求实现加权轮询规则的负载均衡
7.4.5配置实例三:对特定资源实现负载均衡
7.4.6配置实例四:对不同域名实现负载均衡
7.4.7配置实例五:实现带有URL重写的负载均衡
7.5本章小结
第8章Nginx服务器的缓存机制
8.1Web缓存技术简述
8.2404错误驱动Web缓存
8.3资源不存在驱动Web缓存
8.4基于memcached的缓存机制的6个指令
8.5 ProxyCache缓存机制
8.6 Nginx与Squid组合
8.6.1 Squid服务器的配置
8.6.2 Nginx服务器的配置
8.7基于第三方模块ncache的缓存机制
8.8本章小结
第9章Nginx服务器的邮件服务
9.1邮件服务
9.2 Nginx邮件服务的配置的12个指令
9.3 Nginx邮件服务配置实例
9.4本章小结
第10章Nginx源码结构
10.1 Nginx源码的3个目录结构
10.1.1core目录
10.1.2 event目录
10.1.3 http目录
10.2 Nginx源码的模块化结构
10.2.1公共功能
10.2.2配置解析
10.2.3内存管理
10.2.4事件驱动
10.2.5日志管理
10.2.6 HTIP服务
10.2.7 Mail服务
10.2.8模块支持
10.3本章小结
第11章Nginx基本数据结构
11.1 ngx_module_s结构体
11.1.1分类标识ctx_index
11.1.2模块计数器index
11.1.3模块上下文
11.1.4回调函数
11.2 ngx_command_s结构体
11.2.1 type成员
11.2.2函数指针set
11.2.3conf和offset
11.33个基本模块的指令集数组结构
11.3.1 http模块
11.3.2 event模块
11.3.3 mail模块
11.4 ngx_pool_s结构体
11.4.1 ngx_pool_data_t结构体
11.4.2 ngx_pool_large_s结构体
11.4.3 ngx_pool_cleanu_s结构体
11.5 Nginx socket相关的数据结构
11.5.1 ngx_listening_s结构体
11.5.2ngx_ http_ conf_port_t结构体
11.5.3ngx http conf addrt结构体
11.6 ngx_event_s结构体
11.7 ngx_connection_s结构体
11.8 ngx_cycle_s结构体
11.9 ngx_conf_s结构体
11.9.1配置上下文*ctx
11.9.2指令类型type
11.10 ngx_signal_t结构体
11.11 ngx_process_t结构体
11.12本章小结
第12章Nginx的启动初始化
12.1 Nginx启动过程概览
12.1.1程序初始化
12.1.2启动多进程
12.2 Nginx的初始化
12.2.1读取并处理启动参数
12.2.2继承socket
12.2.3初始化时间及建立新的cycle结构
12.2.4建立core模块上下文结构
12.2.5解析配置文件
12.2.6初始化core模块上下文
12.2.7创建PID文件
12.2.8处理监听socket
12.2.9信号设置
12.2.10启动Master Process
12.2.11 Nginx初始化过程总结
12.3 Nginx的启动
12.3.1主进程设置信号阻塞
12.3.2设置进程标题
12.3.3启动工作进程
12.3.4启动缓存索引重建及管理进程
12.3.5循环处理信号
12.3.6 Nginx启动过程总结
12.4本章小结
第13章Nginx的时间管理
13.1获取系统时间的一般方法
13.1.1系统调用的开销
13.1.2 gettimeofday()
13.2 Nginx时间管理的工作原理
13.2.1时间缓存的更新
13.2.2更新时间缓存的时机
13.3缓存时间的精度
13.3.1设置缓存时间的精度
13.3.2缓存时间精度的控制原理
13.4本章小结
第14章Nginx的内存管理
14.1内存池的逻辑结构
14.2内存池的管理
14.2.1创建内存池
14.2.2销毁内存池
14.2.3重置内存池
14.3内存的使用
14.3.1申请内存
14.3.2释放内存
14.3.3回收内存
14.4本章小结
第15章Nginx工作进程
15.1工作进程概览
15.2相关源码分析
15.2.1设置工作进程运行环境
15.2.2监听和处理进程控制事件
15.2.3接收网络请求事件
15.2.4执行进程控制
15.3 Nginx服务器进程间通信
15.3.1Linux进程间通信方式
15.3.2 Linux进程间双工通信的实现
15.3.3通信通道的建立和设置
15.3.4通信通道的使用
15.3.5消息的读写
15.4本章小结
第16章Nginx的模块编程
16.1模块的种类
16.2模块开发实践
16.2.1“Hello_Nginx”模块编程实例
16.2.2模块的结构
16.2.3模块命名规则
1613模块的编译与安装
16.4本章小结
第17章Nginx在动态网站建设中的应用实例
17.1 Nginx在JSP网站建设中的应用
17.1.1环境描述
17.1.2特别模块说明
17.1.3配置方案
17.2 Nginx在PHP网站建设中的应用
17.2.1环境描述
17.2,2特别模块说明
17.2.3配置方案
17.3 Nginx+Perl脚本在网站建设中的应用
17.3.1环境描述
17.3.2特别模块说明
17:3.3配置方案
17.4本章小结
第18章Nginx经典应用——LNAMP
18.1LNAMP概述
18.2手动部署和配置
18.2.1环境准备
18.2.2安装和配置MySQL
18.2.3安装和配置Apache
18.2.4安装PHP
18.3自动安装
18.4本章小结
附录A Nginx内置变量
附录B正则表达式语法
|
內容試閱:
|
2.3.3 Nginx服务的停止
停止Nginx服务有两种方法:一种是快速停止;一种是平缓停止。快速停止是指立即停止当前Nginx服务正在处理的所有网络请求,马上丢弃连接,停止工作;平缓停止是指允许Nginx服务将当前正在处理的网络请求处理完成,但不再接收新的请求,之后关闭连接,停止工作。
停止Nginx服务的操作比较多。可以发送信号:
./sbin/Nginx—g TERM | IMT | OUIT
其中,TERM和INT信号用于快速停止,QUIT用于平缓停止。
或者:
kill TERM | InT | QUIT ''/Nginx/logs/nginx.pid''
当然也可以使用kill命令向Nginx进程发送—9或者SIGKILL信号强制关闭Nginx服务:
kill—9 | SIGKILL ''/Nginx/logs/nginx.pid''
但不建议这样使用。
2.3.4 Nginx服务的重启
更改Nginx服务器的配置和加入新模块后,如果希望当前的Nginx服务应用新的配置或使新模块生效,就需要重启Nginx服务。当然我们可以先关闭Nginx服务,然后使用新的Nginx配置文件重启服务。这里主要介绍Nginx服务的平滑重启。
平滑重启是这样一个过程,Nginx服务进程接收到信号后,首先读取新的Nginx配置文件,如果配置语法正确,则启动新的Nginx服务,然后平缓关闭旧的服务进程;如果新的Nginx配置有问题,将显示错误,仍然使用旧的Nginx进程提供服务。
……
|
|