Nginx是目前广受关注的一个高性能HTTP和反向代理服务器,具有简单灵活的配置和极高的执行效率。本书适合Linux运维方向的初学者,或具备某一类编程语言(C、PHP、Java)基础的人群,使其快速掌握Nginx的配置与应用,搭建高性能的Web服务器。
全书分为8个章节,内容主要包括VMware虚拟机的使用、Linux入门、正则表达式、HTTP协议、Nginx安装与配置、访问控制、日志管理、虚拟主机、Web服务器搭建、反向代理、负载均衡、缓存,以及一些常用模块和应用(包括调试输出、网页压缩、重写、重定向、防盗链、HTTPS等)。最后讲解了Nginx的配置优化、LNMP分布式集群和高可用方案的部署,将Nginx应用到复杂的服务器架构中,对所学知识进行巩固和提高。
本书附有配套视频、源代码、习题、教学课件等资源,为了帮助初学者更好地学习本书所讲解的内容,还提供了在线答疑,希望更多的读者提供帮助。
本书是一本Nginx的入门书籍,适合作为高等院校本、专科计算机相关专业的教材使用,也可作为Nginx爱好者的参考书自学使用。
本教材主要有以下特色:
一、零基础、入门级讲解
为帮助初学者快速入门,降低Nginx的学习门槛,本书扩充了许多相关的基础知识,即使是对于Linux系统零基础的读者,也可以通过本书学会Linux基本操作,并能够理解教材中所出现的各种命令、参数、脚本、正则表达式的作用。
二、循序渐进,通俗易懂
在课程的知识内容和讲解方式上,本书所涉及的知识点对应实际应用需求,课程顺序符合认知规律;在讲解时采用易于理解的图示、举例的方式,将抽象的概念具体化,并利用实际动手的案例进一步验证和测试,分析总结出实用的经验。
三、注重实战,可操作性强
为了提高学习的兴趣和动力,在学习过程中,读者可以通过VMware虚拟机按照书中的课程一步步来操作,随时观察、分析程序的运行结果,达到即时反馈的学习效果。同时课程还加入了综合性实战章节,将Nginx与多种软件组合搭配,满足各种应用场景。
四、教材、资源、服务三合一,高效学习
为了便于老师备课,本教材配备了精美的PPT、教学视频和源代码等资源。本书还有配套题库可以根据需求自由组卷,方便老师考察学生的学习情况。
第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