Nginx高性能Web服务器详解
上QQ阅读APP看本书,新人免费读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服务器的优势、基本概念、进阶技术等,内容由浅入深,是广大Web服务器工作者了解Nginx服务器的首选。

■ 上手容易。本书集合了丰富的实例,尽可能网罗所有生产中使用的经验技巧,让读者能够快速上手。

■ 深入浅出。本书从多个角度完整地讲述了Nginx服务器的各个方面,不仅包括了基本概念相关知识,更包括了Nginx服务器的使用技巧、深层次的源码架构等内容,让读者能够全面了解Nginx服务器。

■ 实战讲解。本书在结束了理论讲解之后,会特意安排一部分内容向读者完整展示常见Nginx服务器应用实例,便于读者巩固前面各章节学习的理论知识。

■ 问题集锦。在本书各章节的讲解过程中收录了笔者在实际生产过程中遇到或者收集到的大量Nginx服务器使用的问题及可能的解答,这有助于读者在实际操作中对问题的处理。

在撰写本书的过程中,我们一直努力为读者呈现一个较为完整的知识结构,尽力将关于Nginx服务器的使用、实践、实现等多方面的知识传输给大家,希望它们能够起到抛砖引玉的作用,为大家进一步理解和学习Nginx服务器的使用方法和设计精髓提供基本知识和思路。该书是我们在使用Nginx服务器的过程中的思考和学习记录,由于知识水平和应用水平有限,疏漏和错误之处在所难免,欢迎大家积极批评和指正。

作者

2013年7月