什么是Nginx
Nginx 是一个开源的,高性能的HTTP和反向代理服务器,同时也提供了IMAP/POP3/SMTP服务,将其源代码以类BSD许可的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
主要功能
反向代理和负载均衡
我们先来看看什么是正向代理?
正向代理
局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务其来访问,这种代理服务被称为正向代理。
反向代理
客户端无法感知代理,因为客户端访问网络不需要配置,只要把请求发送到反向代理服务器,由反向代理服务器去选者目标服务器,暴露的是代理服务器的地址,隐藏了正式服务器地址。
负载均衡
客户端发送多个请求到服务器,随着信息数量的增加,普通架构无法满足现在的需求,我们可以增加服务器的数量,构建集群,将请求分发到各个服务器上,将原来请求集中到单个服务器的情况改为分发到多个服务器
Nginx配置说明
配置文件区域说明
配置区域 | 说明 |
main块 | 配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。 |
events块 | 配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。 |
http块 | 可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。 |
upstream块 | 配置HTTP负载均衡器分配流量到几个应用程序服务器。 |
server块 | 配置虚拟主机的相关参数,一个http中可以有多个server。 |
location块 | 配置请求的路由,以及允许根据用户请求的URI来匹配指定的各location以进行访问配置;匹配到时,将被location块中的配置所处理。 |