linux Nginx+Tomcat负载均衡、动静分离

摘要:Nginx服务器作为前端,Tomcat服务器作为后端,web页面请求由Nginx服务来进行转发。

目录

一、nginx负载均衡

二、nginx动静分离

三、反向代理和正向代理

四、配置nginx负载均衡负载均衡

五、总结

 

 

 

 

 

 

 

 

一、nginx负载均衡

  1.nginx负载均衡

    Nginx实现负载均衡是通过反向代理实现。

    如图所示:

      

   2.nginx配置参数  

      (1)upstream 服务池名

          配置后端服务器池,以提供响应数据

      (2)proxy_pass http://服务池名

          配置将访问请求转发给后端服务器池的服务器处理

   

    3.nginx 负载均衡的策略(分流策略)

       (1) rr 负载均衡模式:

        每个请求按时间顺序逐一分配到不同的后端服务器,如果超过了最大失败次数后(max_fails,默认1),在失效时间内(fail_timeout,默认10秒),该节点失效权重变为0,超过失效时间后,则恢复正常,或者全部节点都为down后,那么将所有节点都恢复为有效继续探测,一般来说rr可以根据权重来进行均匀分配。

      (2) least_conn 最少连接:
        优先将客户端请求调度到当前连接最少的服务器。

      (3) ip_hash 负载均衡模式:
        每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,但是ip_hash会造成负载不均,有的服务请求接受多,有的服务请求接受少,所以不建议采用ip_hash模式,session 共享问题可用后端服务的 session 共享代替 nginx 的 ip_hash。

      (4) fair(第三方)负载均衡模式:
        按后端服务器的响应时间来分配请求,响应时间短的优先分配。

      (5) url_hash(第三方)负载均衡模式:
        基于用户请求的uri做hash。和ip_hash算法类似,是对每个请求按url的hash结果分配,使每个URL定向到同一个后端服务器,但是也会造成分配不均的问题,这种模式后端服务器为缓存时比较好。

 

二、nginx动静分离

   1.nginx动静分离

    服务端接收来自客户端的请求中,既有静态资源也有动态资源,静态资源由Nginx提供服务,动态资源Nginx转发至后端。

 

   2.Nginx静态处理优势

    (1)Nginx处理静态页面的效率远高于Tomcat的处理能力

    (2)若Tomcat的请求量为1000次,则Nginx的请求量为6000次

    (3)Tomcat每秒的吞吐量为0.6M,Nginx的每秒吞吐量为3.6M

    (4)Nginx处理静态资源的能力是Tomcat处理的6倍

 

 

 

三、反向代理和正向代理

     1.正向代理

      (1)正向代理: 顺着请求的方向进行的代理,即代理服务器它是由你配置为你服务,去请求目标服务器地址。 

        (2)正向代理的作用:1.访问原来无法访问的资源,如google,2.可以做缓存,加速访问资源,3.对客户端访问授权,上网进行认证,4.代理可以记录用户访问记录 (上网行为管理),对外隐藏用户信息

       

 

     2.反向代理

      (1)反向代理: 跟正向代理相反,它是为目标服务器进行服务的,但是请求的流程还是: cieng -> proxy> server.

  

 四、配置nginx负载均衡和动静分离

 

 

 

 

    

       

     1.部署Nginx 负载均衡器

        关闭防火墙安全机制

       安装模块

       创建用户      

 

    解压指定文件

       安装路径和模块

       编译安装

 

     将nginx加入到sbin里,方便命令

     

     重启服务,加入开机自启服务

     网页验证Nginx 服务器192.168.140.111

   2.部署2台Tomcat 应用服务器

    (1)server 1 192.168.140.223

    

     解压jdk文件

     配置全局变量

   解压tomcat文件

   移动文件到/usr/local/tomcat

     启动tomcat服务

   (2)server 2 192.168.140.224

  

  解压包

     安装jdk

     安装tomcat

 

 

     配置全局文件

     立即生效

 

   启动服务

   

tomcat可以运行

    3.动静分离配置

      (1)Tomcat1 server 配置192.168.140.223

          

 

   配置tomcat文件

    注意此处:host name不可重复,复制服务无法启动

 

     网页验证,可以访问

     (2)Tomcat2 server 配置

 创建动态文件

 

       配置主配置文件

    直接加入,host name不能重复

   

     重启服务

     网页验证 192.168.140.224

  3.Nginx server 配置

    创建静态文件夹

     配置负载均衡

     配置方向代理和location

 

  重启服务

   4.测试效果

    测试静态页面效果

      浏览器访问 http://192.168.140.111

 

      浏览器访问 http://192.168.140.111/work.jpg

     测试负载均衡效果,不断刷新浏览器测试

        浏览器访问 http://192.168.140.111/index.jsp

      第一次刷新是到第一个服务器

     第二次刷新是到第二个服务器

 

五、总结

    nginx强大的处理能力,还可以作为代理服务器,不仅保护服务器的安全,也可以做负载均衡增加性能,同时也可以完成反向代理,处理速度快。nginx和tomcat的合作是当前企业十分常见的组合,可以更好的搭配,提升性能和优化配置。

posted @ 2023-07-04 00:28  纸签  阅读(46)  评论(0编辑  收藏  举报