欢迎光临
免费的PDF电子书下载网站

Nginx高性能Web服务器实战教程 PDF下载

编辑推荐

Nginx是目前广受关注的高性能HTTP和反向代理服务器,具有简单灵活的配置和极高的执行效率。本书适合Linux运维方向的初学者,或具备某一类编程语言(C、PHP、Java)基础的人群,使其快速掌握Nginx的配置与应用,搭建高性能的Web服务器。一、零基础,快速入门为帮助初学者快速入门,降低Nginx的学习门槛,本书扩充了许多相关的基础知识,即使是对于Linux系统零基础的读者,也可以通过本书学会Linux基本操作,并能够理解教材中所出现的各种命令、参数、脚本、正则表达式。二、循序渐进,通俗易懂在课程的知识内容和讲解方式上,本书涉及的知识点对应实际应用需求,内容组织顺序符合认知规律;在讲解时采用易于理解的图示、举例的方式,将抽象的概念具体化,并利用实际案例进一步验证和测试,分析总结实用的经验。三、注重实战,可操作性强为了提高学习的兴趣和动力,在学习过程中,读者可以通过VMware虚拟机按照书中介绍的步骤一步步来操作,随时观察、分析程序的运行结果,达到即时反馈的学习效果。同时课程还加入了综合性实战章节,将Nginx与多种软件组合搭配,满足各种应用场景。

 ;

内容简介

Nginx是目前备受关注的一个高性能HTTP和反向代理服务器,具有简单、灵活的配置和极高的执行效率。本书面向Linux运维方向的用户或具备某一类编程语言(C、PHP、Java)基础的读者,旨在使其快速掌握Nginx的配置与应用,学会搭建高性能的Web服务器。 全书分为8章,主要内容包括VMware虚拟机的使用、Linux入门、正则表达式、HTTP协议、Nginx安装与配置、访问控制、日志管理、虚拟主机、Web服务器搭建、反向代理、负载均衡、缓存以及一些常用模块和应用(包括调试输出、网页压缩、重写、重定向、防盗链、HTTPS等)。第8章还着重介绍了Nginx的配置优化、LNMP分布式集群和高可用方案的部署,目的是帮助读者将Nginx应用到复杂的服务器架构中,对所学知识进行巩固和提高。 本书是一本Nginx的入门书籍,适合作为高等院校本、专科计算机相关专业的教材,也可作为Nginx爱好者的参考书。

作者简介

暂无

Nginx高性能Web服务器实战教程 PDF下载

目录

目录

 ;

第1章Nginx开篇1

1.1Nginx简介1

1.1.1Web服务器1

1.1.2Nginx概述2

1.2Linux操作系统3

1.2.1Linux的起源与发展3

1.2.2获取Linux系统4

1.3VMware虚拟机5

1.3.1什么是虚拟机5

1.3.2VMware安装CentOS6

1.3.3VMware快照功能11

1.3.4VMware克隆功能12

本章小结13

课后练习14

第2章基础知识15

2.1Linux入门15

2.1.1基本命令15

2.1.2目录结构18

2.1.3shell和终端19

2.1.4文件管理23

2.1.5vi编辑器26

2.1.6用户和权限29

2.2正则表达式36

2.2.1正则表达式概述36

2.2.2正则表达式入门37

2.2.3正则表达式语法规则39

2.2.4正则表达式应用案例42

2.3HTTP协议43

2.3.1HTTP概述43

2.3.2HTTP消息44

2.3.3HTTP请求消息46

2.3.4HTTP响应消息49

本章小结51

课后练习51

目录Nginx高性能Web服务器实战教程第3章Nginx的安装53

3.1Linux服务器搭建53

3.1.1最小化安装CentOS53

3.1.2网络配置58

3.1.3远程终端访问64

3.1.4安装必备软件68

3.2Linux环境下安装Nginx70

3.2.1获取Nginx70

3.2.2编译安装Nginx71

3.2.3Nginx的启动与停止74

3.2.4访问测试76

3.2.5后续操作77

3.3Windows环境下使用Nginx82

本章小结84

课后练习84

第4章Nginx基本配置86

4.1认识配置文件86

4.1.1配置文件结构86

4.1.2设置用户和组88

4.1.3自定义错误页90

4.2访问控制93

4.2.1权限控制指令93

4.2.2访问控制典型应用97

4.3日志文件101

4.3.1访问日志101

4.3.2错误日志104

4.3.3日志文件切割105

4.4虚拟主机107

4.4.1什么是虚拟主机107

4.4.2基于端口号配置虚拟主机107

4.4.3基于IP配置Nginx虚拟主机110

4.4.4基于域名配置虚拟主机113

4.4.5设置目录列表115

4.4.6子配置文件的引入117

本章小结119

课后练习119

第5章Web服务器搭建120

5.1Nginx PHP环境120

5.1.1PHP的安装与使用120

5.1.2PHP与Nginx整合124

5.2Nginx Apache环境132

5.2.1Apache的安装与使用132

5.2.2Apache的基本配置137

5.2.3Apache与PHP整合141

5.2.4Nginx Apache动静分离143

5.3Nginx Tomcat环境146

5.3.1Tomcat的安装与使用146

5.3.2Nginx Tomcat动静分离150

5.4OpenResty环境150

5.4.1OpenResty的安装与使用151

5.4.2OpenResty开发入门153

本章小结156

课后练习156

第6章负载均衡与缓存158

6.1反向代理158

6.1.1代理与反向代理158

6.1.2反向代理服务配置159

6.2负载均衡162

6.2.1什么是负载均衡162

6.2.2负载均衡的配置163

6.3缓存配置168

6.3.1缓存实现原理169

6.3.2永久缓存配置169

6.3.3临时缓存配置171

6.3.4缓存清理配置174

6.4邮件服务177

6.4.1Nginx实现邮件服务178

6.4.2邮件服务配置178

本章小结181

课后练习181

第7章模块配置应用182

7.1模块概述182

7.1.1模块化结构设计182

7.1.2Nginx模块分类及作用182

7.1.3Nginx手册的使用184

7.2调试输出186

7.2.1调试输出的配置186

7.2.2常见的应用案例188

7.3查看响应状态与替换响应内容192

7.3.1安装所需模块192

7.3.2查看网站响应状态193

7.3.3替换网站响应内容193

7.4网页压缩传输195

7.4.1gzip压缩技术195

7.4.2网页压缩传输配置195

7.5重写与重定向198

7.5.1rewrite模块的简介198

7.5.2rewrite实现重写199

7.5.3rewrite实现重定向201

7.6防盗链的配置202

7.6.1图片防盗链202

7.6.2下载防盗链205

7.7配置HTTPS网站208

7.7.1什么是HTTPS208

7.7.2颁发认证证书208

7.7.3配置HTTPS网站211

本章小结212

课后练习212

第8章高可用负载均衡集群214

8.1Nginx配置优化214

8.1.1连接数优化214

8.1.2客户端请求限制217

8.1.3浏览器缓存优化219

8.2LNMP分布式集群220

8.2.1什么是集群220

8.2.2LNMP分布式部署221

8.2.3搭建NFS文件服务器229

8.2.4搭建MySQL数据库服务器234

8.2.5搭建Memcached缓存服务器238

8.2.6ThinkPHP项目部署241

8.3Nginx Keepalived高可用方案247

8.3.1高可用方案概述247

8.3.2安装和配置Keepalived服务248

8.3.3使用Keepalived监控Nginx服务251

本章小结253

课后练习253

媒体评论

评论

前沿

序言
传智播客和“黑马程序员”江苏传智播客教育科技股份有限公司(简称传智播客)是一家专门致力于高素质软件开发人才的科技公司,“黑马程序员”是传智播客旗下高端IT教育品牌。“黑马程序员”的学员多为大学毕业后想从事IT行业,但各方面条件还不成熟的年轻人。“黑马程序员”的学员筛选制度非常严格,包括严格的技术测试、自学能力测试,还包括性格测试、压力测试、品德测试等。百里挑一的残酷筛选制度确保了学员质量,并降低了企业的用人风险。自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程,不断在产、学、研三个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,有针对性地出版计算机教材五十多种,制作教学视频数十套,发表各类技术文章数百篇。“黑马程序员”不仅研发IT系列教材,还为高校师生提供以下配套学习资源与服务。为大学生提供的配套服务: ;
 专注的辅学平台“博学谷”(http://yx.boxuegu.com),专业老师在线为您答疑解惑。 针对高校学生在学习过程中存在的压力等问题,我们还为大学生量身打造了“播妞”。“播妞”不仅致力推行快乐学习,还有定期的助学红包雨(“播妞”微信/QQ: 208695827)。 高校学生也可扫描右方二维码,加入“播妞”粉丝团,获取最新学习资源,与“播妞”一起快乐学习。为IT教师提供的配套服务:  ;
针对高校教学,“黑马程序员”为IT系列教材精心设计了“教案 授课资源 考试系统 题库 教学辅助案例”的系列教学资源,高校老师请关注码大牛老师微信/QQ: 2011168841,获取教材配套资源,也可以扫描右方二维码,加入专为IT教师打造的师资服务平台——“教学好助手”,获取“黑马程序员”最新教师教学辅助资源及相关动态。
前言
Nginx自从发布以来,在世界范围内受到越来越多的关注。由于其稳定性好、功能丰富、占用内存少、并发能力强等优势,在同类型的服务器中表现出色。一些大型网站如百度、京东、新浪、网易、腾讯、淘宝等都已经在内部广泛使用。因此,对于这款高性能、轻量级的HTTP和反向代理服务器,如何能够快速、系统地了解并掌握它的应用,成为初学者的迫切需求。为什么要学习本书  ;本书针对的是以Linux运维为方向或具备某一类开发语言(如C、PHP、Java等)基础的读者。全书围绕Nginx功能使用以及重点配置案例展开,并铺垫了Linux服务器、正则表达式、HTTP等方面的基础知识,适合想要快速掌握Nginx的初学者。教材遵循学习的难易度及先后顺序来安排章节顺序,按照“概念讲解 案例演示”的方法来设计课程内容,将抽象的概念具体化,学到的知识实践化,让读者不仅理解知识内容,还能根据实际需求进行分析和处理,达到学以致用、学用结合的效果。如何使用本书  ;本书的主要内容包括VMware虚拟机、Linux系统、正则表达式、HTTP协议、Nginx安装与配置、Web服务器搭建、反向代理、负载均衡、缓存,以及Nginx常用模块的使用、Nginx配置优化、LNMP分布式集群、Nginx Keepalived高可用方案等。全书共分为8章: 第1章主要讲解常见的Web服务器、Linux系统以及VMware虚拟机的使用,通过本章学习,读者可以了解一些基本概念,并能够搭建一个实验环境。 第2章讲解Linux入门、正则表达式和HTTP协议,这些是学习Nginx必备的基础知识,只有掌握这些内容,才能够在Nginx使用过程中得心应手。 第3章讲解Nginx的安装和服务器环境的配置,主要包括网络和防火墙配置、远程终端的使用、服务脚本的编写、软件的安装等。通过本章的学习,读者能够掌握在最小方式安装的CentOS系统中编译安装Nginx,并对服务器进行管理和维护。 第4章讲解Nginx服务器的基本配置,认识Nginx配置文件并了解一些基本指令的作用。通过具体案例实现了访问控制、日志管理和各种类型虚拟主机。 第5章介绍Web服务器的搭建,包括Nginx与PHP、Apache、Tomcat等软件的组合搭配,以及基于Nginx Lua的高性能Web开发平台OpenResty环境的使用。 第6章讲解反向代理、负载均衡、缓存配置以及邮件服务,为读者展示了如何解决大型网站多台服务器之间协同工作的问题,以便提高计算机系统的处理能力、计算速度,从而满足业务量的需求。 第7章从模块的角度介绍Nginx相关应用,包括调试输出、查看响应状态、替换响应内容、网页压缩传输、重写、重定向、防盗链、HTTPS等配置。通过本章的学习,读者能够掌握根据具体需求来对Nginx进行不同的模块编译和配置。 第8章主要讲解Nginx配置优化、LNMP分布式集群以及Nginx Keepalived高可用方案的部署。本章是对Nginx的综合应用和提升,从整体服务器架构上满足大型网站对高并发、高负载和高可用的需求。在上面所列举的8章中,第1~3章是基础课程,主要帮助初学者掌握扎实的基本功;第4、6、7章是Nginx的重点课程,讲解Nginx的基本配置、常用模块和典型应用;第5、8章是动手实战课程,涉及Apache、Tomcat、OpenResty、PHP、MySQL、Memcached、NFS、Keepalived等多种软件和服务的搭建与配置,这部分内容比较复杂,希望读者细心阅读,灵活运用VMware虚拟机的快照和克隆功能,认真完成每个操作步骤。在学习过程中,读者一定要亲自实践教材中演示的案例。如果不能完全理解书中所讲知识,读者可以登录博学谷平台,通过平台中的教学视频进行深入学习。读者在学习完一个知识点后,要及时在博学谷平台上进行测试,以巩固学习内容。另外,如果读者在理解知识点的过程中遇到困难,建议不要纠结于某个地方,可以先往后学习。通常来讲,通过逐渐的学习,对于前面不懂和疑惑的知识也能够理解。在学习Nginx的过程中,一定要多多动手实践,如果在实践的过程中遇到问题,建议多思考,理清思路,认真分析问题发生的原因,并在问题解决后及时总结经验。致谢  ;本书的编写和整理工作由传智播客教育科技股份有限公司的黑马程序员完成,主要参与人员有吕春林、韩冬、乔治铭、高美云、陈欢、马丹、王哲、李东超、韩振国、王金涛等,全体参编人员在这近一年的编写过程中付出了很多辛勤的劳动,特此表示衷心的感谢。意见反馈  ;尽管我们付出了最大的努力,但教材中难免会有不妥之处,欢迎各界专家和读者朋友们来信、来函给予宝贵意见,我们将不胜感激。您在阅读本书时,如发现任何问题或有不认同之处可以通过电子邮件与我们取得联系。请发送电子邮件至: itcast_book@vip.sina.com。前言Nginx高性能Web服务器实战教程

黑马程序员 ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ; 2017年4月

免费在线读

第5章Web服务器搭建学习目标  ;掌握Nginx PHP环境的搭建和配置;  ;掌握Nginx与Apache、Tomcat实现动静分离;  ;掌握OpenResty环境的搭建与使用。Nginx的主要用途是作为Web服务器使用,目前最典型的应用是与PHP、Tomcat、MySQL等软件组成动态网站平台。本章将讲解Nginx与各种软件组成的Web服务器环境如何搭配,包括各种软件的安装与配置,以及基于Nginx Lua的高性能Web平台OpenResty的安装与使用。5.1Nginx PHP环境〖*2〗5.1.1PHP的安装与使用PHP(Hypertext Preprocessor,超文本预处理器)是一种运行于服务器端的嵌入式脚本编程语言,具有开源免费、易学易用、开发效率高等特点,是Web应用开发的主流语言之一。目前由LAMP(Linux、Apache、PHP、MySQL)组成的平台现已被大量应用在网站系统的搭建中。在LAMP环境中,Apache作为Web服务器与客户端浏览器交互,PHP负责处理复杂的网站业务逻辑需求,MySQL负责存储和管理网站的数据库。而后起之秀的Nginx,在Web服务器功能方面可以取代Apache组成LNMP平台。关于整体的LNMP平台会在后面的章节中详细讲解,本节重点介绍Nginx与PHP的整合,从而形成一个基本的动态网站运行环境。1.  ;获取PHP在PHP的官方网站http://php.net可以获取PHP源代码的下载地址,如图51所示。目前PHP官方网站发布了5.6和7.0两种版本,其中5.6具有很强的兼容性,而7.0具有优越的性能。图51PHP网站首页本书选择以PHP 5.6.27版本进行讲解,在网站中找到php5.6.27.tar.gz压缩包的下载地址,下载到Linux服务器中。使用tar zxvf命令进行解压,然后查看解压后的文件列表,如图52所示。第5章Web服务器搭建Nginx高性能Web服务器实战教程图52PHP解压后的文件列表2.  ;编译安装PHP从解压后的目录中可以看出,PHP提供configure程序用于编译安装。使用./configure help命令可以查看详细的编译选项,也可以查看PHP官方手册。对于一般用户来说,无须彻底明白这些编译选项的作用,只需了解几个常用选项即可安装使用,具体如表51所示。表51PHP5.6常用编译选项选项说明prefix安装目录,默认目录为/usr/local,也可以设为/usr/local/phpenablefpm开启PHP的FPM功能,提供PHP FastCGI管理器withzlib包含zlib库,支持数据压缩和解压缩enablezip开启ZIP功能enablembstring开启mbstring功能,用于多字节字符串处理续表选项说明withmcrypt包含mcrypt加密支持(依赖libmcrypt)withmysql包含MySQL数据库访问支持withmysqli包含增强版的MySQL数据库访问支持withpdomysql包含基于PDO(PHP Data Object)的MySQL数据库访问支持withgd包含GD库支持,用于PHP图像处理withjpegdir包含JPEG图像格式处理库(依赖libjpegdevel)withpngdir包含PNG图像格式处理库(依赖libpngdevel)withfreetypedir包含FreeType字体图像处理库(依赖freetypedevel)withcurl包含curl支持(依赖curldevel)withopenssl包含OpenSSL支持(依赖openssldevel)withmhash包含mhash加密支持enablebcmath开启精准计算功能enableopcache开启opcache功能,一种PHP的代码优化器在上述编译选项中,有些选项的前缀是enable,有些是with,其区别在于enable选项用于开启PHP的一些内置的功能,而with选项依赖于系统中的共享库,如果系统中没有则需要安装依赖包。表51中列举的是运行PHP大部分成熟项目所需要的扩展。在实际使用时,用户也可以根据需要自行定制。推荐读者在学习阶段选择典型的扩展,并安装所需的依赖包。下面介绍详细的安装步骤。1)  ;通过yum安装依赖PHP的大部分依赖可以通过yum自动安装。具体命令如下。[root@localhost ~]# yum -y install libxml2-devel openssl-devel \curl-devel libjpeg-devel libpng-devel freetype-devel其中,libxml2devel是PHP编译安装所必需的依赖包,其余的是PHP各种扩展的依赖包。2)  ;安装libmcrypt依赖目前yum中没有libmcrypt,需要手动下载安装。libmcrypt的源代码可以在开源软件平台 SourceForge网站中获取,项目地址是https://sourceforge.net/projects/mcrypt,下载后按照如下命令安装即可。[root@localhost ~]# tar -zxvf libmcrypt-2.5.8.tar.gz[root@localhost ~]# cd libmcrypt-2.5.8[root@localhost libmcrypt-2.5.8]# ./configure[root@localhost libmcrypt-2.5.8]# make &;&; make install3)  ;安装PHP在完成各种依赖包的安装后,接下来开始编译安装PHP。具体操作步骤如下。[root@localhost ~]# cd php-5.6.27[root@localhost php-5.6.27]# ./configure --prefix=/usr/local/php --enable-fpm \--with-zlib --enable-zip --enable-mbstring --with-mcrypt --with-mysql \--with-mysqli --with-pdo-mysql --with-gd --with-jpeg-dir --with-png-dir \--with-freetype-dir --with-curl --with-openssl --with-mhash --enable-bcmath \--enable-opcache[root@localhost php-5.6.27]# make &;&; make install上述命令执行成功后安装结果如图53和图54所示。图53PHP编译前的配置图54PHP编译安装3.  ;PHP的简单使用在Linux系统中安装PHP后即可通过命令的方式来使用,用户也可以将PHP代码写在.php脚本文件中,由PHP程序执行。下面分别介绍两种方式的使用方法。1)  ;通过.php文件执行PHP代码编写.php文件是在PHP网站开发领域使用最多的方法,通常一个完整的PHP网站项目会由成百上千个.php文件组成,其代码遵循PHP语言的语法。为了测试安装后的PHP是否能够正常运行,接下来编写一个基本的Hello World程序。执行vi ~/test.php命令新建文件,编写PHP代码如下。在上述代码中,开始和结束的是PHP的标记。PHP是嵌入到HTML中的语言,需要将PHP代码写在标记内,而标记外面可以写HTML内容。第2行代码中的echo语句用于输出内容,后面是一个双引号字符串,最后以分号结束。字符串中的\n是一个用转义字符方式表示的换行符。将文件保存后,利用PHP安装目录下的可执行程序来执行.php文件,具体命令如下。[root@localhost ~]# /usr/local/php/bin/php -f test.phpHello World !从上述结果可以看到,PHP成功执行了test.php文件,输出Hello World !运行结果。其中选项f表示执行给定的PHP脚本文件。2)  ;直接执行PHP代码通过./php r的方式可以将PHP代码直接交给PHP程序执行,具体示例如下。[root@localhost ~]# cd /usr/local/php/bin[root@localhost bin]# ./php -r echo 100 200,"\n";300从上述执行结果可以看出,PHP输出给定代码中的表达式100 200的计算结果300。关于PHP编程语言的详细语法,这里不再展开讲解,读者可以参考其他资料进行学习。PHP是Web开发的常用语言,使用非常方便,本书后面的一些示例中也会用到PHP语言进行演示。5.1.2PHP与Nginx整合〖*2〗1.  ;认识FastCGI实现PHP与Nginx的整合,离不开FastCGI。对于Nginx而言,PHP是一个外部程序,而非Nginx内部的一个模块。由于Linux平台下可以有多种不同的Web服务器和应用程序,为了让Web服务器的功能扩展性更强,就需要支持CGI(Common Gateway Interface,公共网关接口)规范。CGI是Web服务器与外部程序(即CGI程序)之间的接口标准,用于两种不同程序之间的信息传递。CGI规范允许Web服务器根据浏览器请求调用CGI程序,并将其输出结果通过响应发送给浏览器,从而使Web服务器支持处理复杂的网站业务需求。Web服务器支持CGI的意义不在于性能而在于开发速度。例如,一个功能复杂且需求多变的网站,如果用Nginx模块(基于C语言)的方式来开发成本将非常高,而PHP这样的CGI程序就是为快速开发而设计的,虽然有性能损失,但其带来的好处远远大于这些损失。图55演示了Web服务器和CGI程序的工作流程,开发者只需要编写一个CGI文件放在网站目录中,当浏览器请求CGI文件时,Web服务器就会调用CGI程序执行CGI文件,等待CGI程序处理完成后,再将程序的输出结果返回给浏览器。

Nginx高性能Web服务器实战教程 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:Nginx高性能Web服务器实战教程