图解Nginx常用功能

前言:

简介:
  Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
  其特点是占有内存少,并发能力强,最高可高达50000个并发连接。高效率高并发高可用
主要的功能有:

  1. 虚拟主机
  2. 反向代理
  3. 负载均衡
  4. 动静分离

虚拟主机

  虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供web服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的网站、独立的域名,从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样,互不影响。

在这里插入图片描述上图是以端口模式划分的虚拟主机
虚拟主机的划分除了上图展示的端口模式,还有以域名划分、以IP划分。

  1. 以端口划分虚拟主机(应用:公司内部网站,web网站管理后台)
  2. 以域名划分 (应用:外部网站)
  3. 以IP划分 (一块主机绑定多个IP,用到的比较少)

反向代理

没有代理的访问
在这里插入图片描述正向代理

在这里插入图片描述

反向代理
  反向代理,客户端是对中间的代理服务器(Nginx)是无感的,应为客户端不需要在进行代理配置,只需要把请求发给代理服务器(Nginx),通过它进行自动选择访问的目标服务器,这个过程就叫作反向代理。Nginx就是性能非常好的反向代理服务器,当有多台服务器需要代理,还可以用来做负载均衡。

在这里插入图片描述

负载均衡

  当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
  负载均衡部署的前提是部署过多台反向代理服务器,或者多台虚拟主机服务器,客户端对服务器的访问通过Nginx的负载均衡策略,选择相对来说最优的代理服务器或虚拟主机进行访问。
在这里插入图片描述

负载均衡的策略:

  1. 轮询:这一项为默认的,当没有配置负载均衡时,默认为轮询状态,例如,第一个请求web1加载,第二个请求web2加载,第三个请求web3加载,第四个请求web1加载… 以此类推。
  2. ip_hash:每个请求按访问IP的hash结果分配,同一个IP客户端固定访问一个后端服务器。可以保证来自同一ip的请求被打到固定的机器上,可以解决session问题。
  3. url_hash:按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器。后台服务器为缓存的时候效率。
  4. fair:这是比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持 fair的,如果需要使用这种调度算法,必须下载Nginx的 upstream_fair模块。

动静分离

在这里插入图片描述
  为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。 在动静分离的tomcat的时候比较明显,因为tomcat解析静态很慢,其实这些原理的话都很好理解,简单来说,使用正则表达式匹配过滤,然后交给不同的服务器。
  静态页面一般直接由Nginx来处理,动态页面则是通过反向代理,代理到后端的Tomcat,然后在做负载均衡,是选择本地静态页面,还是后端Tomcat,这由负载均衡配置决定。
  动静分离是在负载均衡后做的,例如静态wbe有多台,动态web有多台,先动静分离,然后在各自集群里做负载均衡、权重等。


以是Nginx的常用功能的简介,如果需要具体参考配置案例,请跳转博客主页哦─=≡Σ(((つ•̀ω•́)つ

======================================================================================================================================================================================================================================================================================================
辛苦浏览观看,如果对你有帮助,请顺手点个赞吧 (σ゚∀゚)σ…:*☆

猜你喜欢

转载自blog.csdn.net/qq_26129413/article/details/112488204