一、Nginx简介
背景介绍
Nginx是一个具有高性能的Http和反向代理的WEB服务器 。
源码是开源的。
名词解释:
WEB服务器:网页服务器,提供用户网上信息浏览服务。
Http:超文本传输协议,用于从WEB服务器传输超文本到本地浏览器的传输协议。
关于代理:
正向代理:
客户端不直接访问服务器端,而是通过向正向代理服务器发送请求,然后正向代理服务器再向服务端发送请求以及接收返回的数据,并最终放回给客户端。
这样做可以隐藏客户端用户的信息,其次当客户端不能直接访问某个网站时,可以通过代理服务器来访问到该网站资源,比如常说的翻墙,就是正向代理。
因此正向代理代理的是客户端。
反向代理:
客户端把请求发送给代理,代理再把请求分发给不同的服务端。
这样可以隐藏服务端信息,提高安全性。同时可以减轻服务端的压力。利于负载均衡。
反向代理服务的是服务端。
二、常用服务器对比
==IIS:==Internet information Sevices 即互联网信息服务。基于Windows系统的互联网基本服务。
==Tomcat:==一个运行Servlet和Jsp的Web应用软件。 它是以一个重量级的Web服务器,对静态文件和高并发的处理比较弱。
Apache: web服务器(静态解析,如HTML)
与tomcat对比:tomcat是java应用服务器(动态解析,如JSP)。apche只支持静态网页,要支持动态网页的话需要tomcat进行解析。二者配合使用使得,当访问的是静态资源的时候,只需要Apache返回请求就行;当访问的是动态资源的时候,tomcat响应请求,将解析后的代码传给apache,aoache再传给客户端。这样的整合可以减少tomcat的服务开销。
Apache优点:稳定,开源,跨平台
由于Apache很早就出现了,是一个重量级,不支持高并发的WEB服务器,因此性能不高,促使其他服务器出现了。
==Lighttpd:==德国开眼WEB服务器软件,轻量级,高性能,多用于欧美国家。
三、Nginx的优点
1.速度更快,并发更高
原因在于它的底层采用了多进程和I/O多路复用(epoll)
2.配置简单,扩展性强
它本身是有很多模块组成,因此可以无限扩充下去
3.高可靠性
采用多进程模式进行,其中有一个master主进程和N多个worker进程
4.热部署
即7*24小时不间断提供服务。
可以在Nginx不停止情况下,对Nginx进行文件升级,更新配置和更换日志文件。
5.成本低,BSD许可证
开源,BSD是一个开源的许可证。
四、Nginx常用功能模块
静态资源部署
Rewrite地址重写
正则表达式
反向代理
负载均衡
web缓存
环境部署
高可用的环境
用户认证模块
五、Nginx的核心组成
nginx #二进制可执行文件
nginx.conf #配置文件
error.log #错误的日志记录
access.log #访问日志记录