Nginx 轻松入门

目标:

了解 Nginx


步骤:

1、Nginx 是什么
2、为什么要使用 Nginx
3、Nginx 的作用

一、何为Nginx?

咱先上一波百度百科

Nginx (engine x) 是一个 高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其 特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等


二、为什么要使用Nginx ?

在早期的系统,人流量不是特别大的情况下,单台tomcat服务器还是可以扛得住的~

Nginx 轻松入门_第1张图片

但是到了现在,单台tomcat已经支撑不了这么大的流量了

Nginx 轻松入门_第2张图片

所以我们需要设置多台tomcat来支撑,这也叫做横向扩展,我们横向增加了几台服务器,这个时候几个项目启动在不同的服务器上,用户要进行访问,只需要增加一个代理服务器就行,通过代理服务器来帮我们实现请求的转发和处理。

Nginx 轻松入门_第3张图片

此时我们希望这个代理服务器可以帮助我们接收用户的请求,然后根据用户的请求按照规则 帮我们转发到不同的服务器节点上,这个过程用户是无感知的,用户并不知道是哪个服务器返回的结果,我们还希望他可以按照服务器的性能提供不同的权重选择,保证最佳体验 ~ 所以 Nginx 登场

三、Nginx 作用

1、Http代理 分为 正向代理 和 反向代理

正向代理

Nginx 轻松入门_第4张图片

反向代理

Nginx 轻松入门_第5张图片

2、负载均衡

Nginx 提供的负载均衡 策略有 两种,分别是 内置策略 和 扩展策略

内置策略 有三种

  • 1、轮询

    • 服务器将每个前端请求按顺序(时间顺序和排列次序)逐一分配到不同的后端服务器节点
      Nginx 轻松入门_第6张图片
  • 2、加权轮询

    • 在基本的轮询策略基础上考虑各后端服务器节点接受请求的权重,指定各后端服务器节点被轮询到的机率,主要应用于后端服务器节点性能不均的情况
      Nginx 轻松入门_第7张图片
  • 3、IP hash。

    • 该策略是将前端的访问IP进行hash操作,然后根据hash结果将请求分配到不同的后端服务器节点。这样会使得每个前端访问IP会固定访问一个后端服务器节点好处是前端用户的session只在一个后端服务器节点上,不必考虑一个session存在多台服务器节点出现session贡献问题,坏处就是一台服务器崩了,用户直接崩掉
      Nginx 轻松入门_第8张图片

扩展策略 有三种

  • 1、 url_hash策略
    • 该策略将前端请求的url地址进行hash操作,根据hash结果将请求定向到同一后端服务器节点上,后台服务器为缓存是比较有效。一般url_hash需要配合缓冲命中来使用
  • 2、 fair策略
    • 该策略请求转发到负载最小的后端服务器节点上。Nginx通过后端服务器节点对响应时间来判断负载情况,响应时间最短的节点负载就相对较轻,Nginx就会将前端请求转发到此后端服务器节点上
  • 3、 sticky策略
    • 该策略在多台服务器的环境下,为了确保一个客户端只和一台服务器通讯,它会保持长连接,并在结束会话后再次选择一个服务器,保证了压力均衡

3、动静分离

在开发中,并不是所有的请求都要经过后台处理的,有些请求不需要经过后台处理,比如css、html、jpg、js 等,这些不需要经过后台处理的文件称为静态文件,让动态网站里面的动态网页根据一定规则 把不变的资源和经常变的资源区分开来,动静资源做好划分后,我们就可以根据静态资源的特点将其做成缓存提高资源响应的速度

你可能感兴趣的:(Nginx,nginx,服务器,tomcat)