基本信息
【插图】

编辑推荐
如何在实战中熟练使用Nginx?
如何发挥Nginx的最佳性能?
如何很快理清Nginx的框架脉络?
如何在理解Nginx源码的基础上提高自己的编程能力?
本书依托大量的实战经验,汇集经典的应用实例,帮助读者理解架构设计,理清原理脉络,提高实战技能。
内容全面:知识点覆盖广泛,内容由浅入深,适合学习和查询。
实例丰富:每个知识点配有实例,重点知识配有经典案例,是入门和实战的必备参考。
深入浅出:阐述基本的概念和知识,深入源码级别的设计开发,总结经典的实战技巧。
实战技巧:依托实例讲解Web开发实战技巧,全面提升开发者实力。
实战讲解:使用专门章节展示和分析经典应用实例,巩固理论知识,增强实战技能。
内容简介
计算机书籍
《Nginx高性能Web服务器详解》全面介绍了当前Intemet上流行的一款开放源代码的Web服务器——Nginx。全书一共分为四大部分,分别从入门、功能、实现和应用等四个方面对Nginx服务器的知识进行完整阐述,从而满足广大读者在应用Nginx服务器时的普遍性需求。同时也深入剖析了Nginx服务器的丁作原理和实现技术,对其中使用到的数据结构和方法进行了详细阐述,并且结合实际的应用情况给出了多个基于Nginx服务器,同时还部署有其他典型服务器的分布式网站架构部署配置。
《Nginx高性能Web服务器详解》特别适合于希望了解和掌握Nginx服务器应用技术和实现技术的广大教师、学生和电脑爱好者阅读,对使用Nginx服务器搭建Web服务器架构或进行网络服务器应用开发的技术人员尤其具有重要的阅读和参考价值。
作译者
目录
第1章 Nginx初探 1
1.1 Nginx的历史 1
1.2 常见服务器产品介绍 2
1.2.1 Apache服务器 2
1.2.2 Microsoft IIS 3
1.2.3 Tomcat服务器 3
1.2.4 Lighttpd服务器 4
1.2.5 Nginx诞生记 4
1.2.6 版本变更大事记 5
1.3 Nginx的功能特性 5
1.3.1 基本HTTP服务 6
1.3.2 高级HTTP服务 6
1.3.3 邮件代理服务 7
1.4 常用功能介绍 7
1.4.1 HTTP代理和反向代理 7
1.4.2 负载均衡 7
1.4.3 Web缓存 8
1.5 本章小结 9
第2章 Nginx服务器的安装部署 10
前言
“信息高速公路”这一概念的提出,实现了全球范围内声、像、图、文等多媒体信息的高速传输和共享。World Wide Web技术突破性的发展,解决了远程信息服务中的文字显示、数据连接以及图像传递的问题,其成为了Internet上最为流行的信息传播方式。Web服务器作为提供网络信息浏览服务的终端,它已成为Internet上最大的计算机群,并为Internet的普及迈出了开创性的一步,是Internet上取得的最激动人心的成就之一。
为什么要写本书
Web服务器技术发展到现在,已经不能仅仅考虑单一的网络信息浏览查询功能,随着信息数据的不断增长和用户体验需求的不断提高,其涉及的技术也趋于多元化。这些技术主要关心三个方面的问题:
一是服务器自身的处理性能。信息数据的急速增长、云计算和大数据理论的相继提出,使得对Web服务器的性能要求越来越高,虽然数据处理不是Web服务器的主要工作,但是如何能够更快地处理和响应客户端请求是Web服务器面临的关键问题之一。
二是服务器的稳定性。Internet遍布全球,每时每刻都有大量的请求需要处理,一台优秀的Web服务器应该能提供持续的不间断服务,这对Web服务器程序来说是一个考验。如何保证Web服务器在大量并发请求出现的时候仍然稳定运行,在长时间运转过程中降低产生问题的概率,在产生问题之前能够有效预防,产生问题时能够有效避免数据丢失,在运行过程中减小对系统平台的资源压力,等等,这些也是Web服务器致力于解决的关键问题之一。
三是Web服务器的定制性。Web服务器通常面向的用户是管理人员,能够在其中快速添加、删除和配置功能,并且实施步骤简单,部署迅速,这也是Web服务器应该具备的优点。
目前市场上比较流行的Web服务器主要有Apache、Microsoft IIS、Sun、Nginx、Tomcat、Lighttpd等。这些服务器各具特色但也各有缺点。Nginx服务器可以说是Web服务器市场的一匹黑马,从2002年第一个版本发布,到现在进入高速发展的时期,其已经占据了一席之地,受到全球广大Web服务器使用者的青睐。由于Nginx服务器发展迅速,因此目前能够完整系统介绍Nginx服务器相关知识的书籍不多。本书以Nginx服务器为对象,从Nginx服务器的功能配置、源码、部署实践等三个方面,较为完整地阐述了Nginx服务器的应用实践和技术实现。
本书有什么内容
本书一共分为4大部分18个章节,分别从入门篇、功能篇、实现篇和应用篇等4个方面对Nginx服务器进行了阐述。
入门篇简单介绍了目前的Web服务器市场和Nginx服务器的诞生历史,主要对Nginx服务器的安装和基础配置、优化配置进行了详细的分析和说明,在这一部分也简单介绍了Nginx服务器的模块化结构,这一方面为我们学习后面功能篇中的内容进行知识准备,另一方面也为我们学习实现篇中的内容做一个铺垫。
功能篇从Nginx服务器常用的功能入手,分别介绍了如何配置Nginx服务器的gzip功能、rewrite功能、proxy功能、cache功能和邮件服务功能,以帮助大家能够根据不同的实际需求对Nginx服务器功能模块进行定制。
实现篇深入到Nginx服务器的源码实现,对Nginx服务器的初始化启动、主进程和工作进程的功能实现源码进行了详细的分析,帮助大家更深一步理解Nginx服务器的运行过程和实现技术,在这一部分还简单地介绍了Nginx服务器模块编程的相关内容,这为大家进行Nginx服务器模块设计提供了思路。
应用篇主要列举了Nginx服务器在动态网站建设中的应用,同时也介绍了Nginx服务器应用中比较经典的一个架构——LNAMP的配置部署,为大家展示了在实际应用中如何使用Nginx服务器提供Web服务的配置实例。
需要学习的基础知识
在学习本书之前,大家应该对以下的知识有一个简单的初步了解,这样更有利于对本书知识的学习和理解:
.Web服务器的基本使用经验
.网络编程的基础知识
.HTTP协议的基础知识
.C语言编程基础知识
媒体评论
停止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进程提供服务。
……
书摘
停止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进程提供服务。