图书前言

序言

传智播客和“黑马程序员”江苏传智播客教育科技股份有限公司(简称传智播客)是一家专门致力于高素质软件开发人才的科技公司,“黑马程序员”是传智播客旗下高端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月