了解Nginx,这一篇就够了
- 1.Nginx应用场景
- 2.Nginx相关概念
- 正向代理和反向代理
- 负载均衡
- 动静分离
- 3.Nginx配置文件解析
- 全局块
- events块
- http块
1.Nginx应用场景
HTTP服务器:Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做
服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署
FTP服务器:FTP服务器,通常会提供一个上传的功能,其他应用如果需要静态资源就从该静态服务器
中获取
反向代理:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求
转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代
理服务器对外就表现为一个反向代理服务器
负载均衡:负载均衡也是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行,例如Wb服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任
务
2.Nginx相关概念
正向代理和反向代理
先看看什么是正向代理:
正向代理:如果把局域网外的internet想象成一个巨大的资源库,则局域网中的客户端要访问internet。则需要通过代理服务器来访问,这种代理服务就称为正向代理。
正向代理,需要用户在浏览器配置代理服务器,想象你平时爬梯子的样子🎊
再来看看反向代理:
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
负载均衡
我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡
动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力
3.Nginx配置文件解析
全局块
从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令
例如:
worker_processes 4;
worker_processes auto; # 自动选择
这是Nginx服务器并发处理服务的关键配置worker_processes
值越大,可以支持的并发处理量也越多
但是会受到硬件、软件等设备的制约
events块
events块涉及的指令主要影响Nginx服务器与用户的网络连接,常用的设置包括是否开启对多work process
下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个work process
可以同时支持的最大连接数等
例如:
worker_connections 51200; # 支持的最大连接数
http块
这算是Nginx服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。需要注意的是:http块也可以包括http全局块、server块