Nginx

Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务

Nginx的优点:

  • 适合高并发、大流量的场景
  • 服务安装简单、配置文件简洁(还支持perl语法)、Bug少
  • 启动容易,并且几乎可以7*24不间断运行,即使运行数个月也不用重新启动,还能在不间断服务的情况下进行软件版本升级

Nginx代码完全用C语言从头写成,官方数据测试表明能够支持高达50000个并发连接数的响应

代理

Nginx不仅可以做反向代理,还能用作正向代理来进行上网等功能

正向代理

局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务被称为正向代理(通过正向代理实现上网)

反向代理

代理服务器接受到网络上的连接请求时,它将请求转发给内网上的服务器,并将从服务器上得到的结果返回给网络上请求连接的客户端,此时代理服务器对外就表现为一个服务器,这种代理服务被称为反向代理

负载均衡

轮询

轮询方式是Nginx负载默认的方式,所有请求都按照时间顺序分配到不同的服务上,如果服务Down掉,可以自动剔除

权重

指定每个服务的权重比例,weight和访问比率成正比,通常用于后端服务机器性能不统一的情况,将性能好的分配高权重来发挥服务器最大性能

动静分离

通常,动态资源指后台资源,而静态资源指HTML、JavaScript、CSS、img等文件

一般都需将动态资源和静态资源分开,将静态资源部署在Nginx上

当一个请求来的时候,如果是静态资源的请求,就直接到Nginx配置的静态资源目录下面获取资源;如果是动态资源的请求,Nginx会利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离

使用前后端分离,可以很大程度的提升静态资源的访问速度,也可以实现前后端开发并行,能有效地提高开发时间、减少联调时间