Nginx+Tomcat负载均衡群集搭建步骤及流程是怎么样的
admin
2023-02-23 02:00:03
0

下文给大家带来Nginx+Tomcat负载均衡群集搭建步骤及流程是怎么样的,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。

Tomcat简介

  • Tomcat最初是由Sun的软件构架师詹姆斯邓肯.戴维森开发
  • 安装完Tomcat后安装路径下面的目录和文件,是使用或者配置Tomcat的重要文件

Tomcat重要目录

  • bin:存放启动和关闭Tomcat脚本
  • conf:存放Tomcat不同的配置文件
  • doc:存放Tomcat文档
  • lib/japser/common:存放Tomcat运行需要的库文件
  • logs:存放Tomcat执行时的LOG文件
  • src:存放Tomcat的源代码
  • webapps:Tomcat的主要Web发布目录
  • work:存放jsp编译后产生的class文件

Nginx应用

  • Nginx是一款非常优秀的HTTP云服务器软件
    • 支持高达50 000个并发连接数的响应
    • 拥有强大的静态资源处理能力
    • 运行稳定
    • 内存、CPU等系统资源消耗非常低
  • 目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,提升整个站点的负载并发能力

Nginx负载均衡实现原理

  • Nginx实现负载均衡是通过反向代理来实现的
  • 反向代理原理
    Nginx+Tomcat负载均衡群集搭建步骤及流程是怎么样的
Nginx配置反向代理的主要参数
  • upstream服务池名{ }
    • 配置后端服务器池,以提供响应数据
  • proxy_pass http://服务池名
    • 配置将访问请求转发给后端服务器池的服务器处理

Nginx+Tomcat负载均衡群集实验

实验环境
Nginx服务器IP地址:192.168.80.177
Tomcat1服务器IP地址:192.168.80.151
Tomcat2服务器IP地址:192.168.80.178
client测试机
搭建负载均衡
  • 在Tomcat1、Tomcat2服务器上安装配置Tomcat服务(Tomcat2上网页内容为accp其他配置一样)
    [root@tomcat1 ~]# systemctl stop firewalld.service        //关闭防火墙
    [root@tomcat1 ~]# mkdir /abc
    [root@tomcat1 ~]# mount.cifs //192.168.100.8/LNMP-C7 /abc/
    [root@tomcat1 ~]# cd /abc/tomcat/
    [root@tomcat1 tomcat]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/    //解压JDK
    [root@tomcat1 tomcat]# vim /etc/profile               //配置环境变量
    ...
    export JAVA_HOME=/usr/local/jdk1.8.0_91
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    [root@tomcat1 tomcat]# source /etc/profile         //刷新配置文件
    [root@tomcat1 tomcat]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/    //解压
    [root@tomcat1 tomcat]# cd /usr/local/
    [root@tomcat1 local]# mv apache-tomcat-8.5.16/ tomcat
    [root@tomcat1 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/       //将启动和关闭脚本便于系统识别
    [root@tomcat1 local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/
    [root@tomcat1 local]# mkdir -p /web/webapp1                //创建站点
    [root@tomcat1 local]# vim /web/webapp1/index.jsp            //写入jsp网页内容
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    
    
    JSP test1 page
    
    
    <% out.println("Welcome KGC Web");%>         //输出信息
    
    
    [root@tomcat1 local]# vim /usr/local/tomcat/conf/server.xml      //修改Tomcat配置文件
            
                  ##添加站点信息
                
    [root@tomcat1 ~]# startup.sh         //启动服务
  • 在Nginx服务器上安装配置Nginx服务

    [root@nginx ~]# systemctl stop firewalld.service    ##关闭防火墙
    [root@nginx ~]# setenforce 0
    [root@nginx ~]# yum install pcre-devel zlib-devel gcc gcc-c++ make -y  ##安装环境必要组件
    [root@nginx ~]# mkdir /abc
    [root@nginx ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/   ##挂载
    Password for root@//192.168.100.3/LNMP-C7:  
    [root@nginx ~]# cd /abc/
    [root@nginx abc]# tar zxvf nginx-1.12.2.tar.gz -C /usr/local/  ##解压
    [root@nginx abc]# useradd -M -s /sbin/nologin nginx   ##创建系统用户
    [root@nginx abc]# cd /usr/local/nginx-1.12.2/
    [root@nginx nginx-1.12.2]# ./configure \   ##配置
    > --prefix=/usr/local/nginx \
    > --user=nginx \
    > --group=nginx \
    > --with-http_stub_status_module \
    > --with-http_gzip_static_module \
    > --with-http_flv_module 
    [root@nginx nginx-1.12.2]# make && make install   ##编译安装 
    [root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
    #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    
        upstream tomcat-server {                             #添加地址池
                            server 192.168.80.151:8080 weight=1;
                            server 192.168.80.178:8080 weight=1;    
                        }
    
        server {
                listen       80;
    .....省略
    location / {
                        root   html;
                        index  index.html index.htm;
                        proxy_pass http://tomcat-server;         #添加代理,调用服务器地址池
                }
    [root@nginx nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  ##便于系统识别
    [root@nginx nginx-1.12.2]# nginx   ##开启服务
  • 使用client测试机访问nginx代理服务器
    Nginx+Tomcat负载均衡群集搭建步骤及流程是怎么样的Nginx+Tomcat负载均衡群集搭建步骤及流程是怎么样的
动静分离
  • 在Nginx服务器上修改Nginx配置文件
    [root@nginx nginx-1.12.2]# vim /etc/init.d/nginx      //编写service启动脚本
    #!/bin/bash
    # chkconfig: - 99 20
    # description: Nginx Service Control Script
    PROG="/usr/local/nginx/sbin/nginx"
    PIDF="/usr/local/nginx/logs/nginx.pid"
    case "$1" in
    start)
        $PROG
        ;;
    stop)
        kill -s QUIT $(cat $PIDF)
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    reload)
        kill -s HUP $(cat $PIDF)
        ;;
    *)
                echo "Usage: $0 {start|stop|restart|reload}"
                exit 1
    esac
    exit 0
    [root@nginx nginx-1.12.2]# chmod +x /etc/init.d/nginx 
    [root@nginx nginx-1.12.2]# chkconfig --add nginx
    [root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
    server {
    ...省略...
     location ~.*.jsp$ {                  //匹配jsp页面跳转代理服务器池
         proxy_pass http://tomcat-server;
         proxy_set_header Host $host;
     }
            location / {
        root   html/test;   ##修改站点
        index  index.html index.htm;
        proxy_pass http://tomcat-server;
     }
    [root@nginx nginx-1.12.2]# vim /usr/local/nginx/html/index.html      //编写静态网页
    
    
    
    
    静态页面
    
    
    
    

    静态页面

    这是个静态页面

    [root@nginx nginx-1.12.2]# service nginx stop    ##关闭开启服务 [root@nginx nginx-1.12.2]# service nginx start
  • 在Tomcat1,Tomcat2服务器上创建jsp动态页面
    [root@tomcat1 ~]# mkdir /usr/local/tomcat/webapps/test
    [root@tomcat1 ~]# vim /usr/local/tomcat/webapps/test/index.jsp
    
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ page import="java.util.Date" %>
    <%@ page import="java.text.SimpleDateFormat" %> 
    
    
    
    
    动态页面
    
    
    
    动态页面1
    //在Tomcat2上修改为动态页面2 //访问静态 http://192.168.13.177/   //访问动态   http://192.168.13.177/test/index.jsp
  • 配置Nginx处理静态图片,Tomcat处理动态页面
    • 分别在两台Tomcat服务器上配置
      [root@tomcat1 ~]# vim /usr/local/tomcat/webapps/test/index.jsp
      
      
      动态页面

      //添加页面图片 [root@tomcat01 local]# vim /usr/local/tomcat/conf/server.xml //在第149行下追加以下条目, [root@tomcat1 test]# shutdown.sh        //关闭重启 [root@tomcat1 test]# startup.sh
    • 在Nginx服务器上修改Nginx配置文件
      [root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
      location ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ { 
      root html/test;
      expires 30d;
      }
      [root@nginx nginx-1.12.2]# mkdir /usr/local/nginx/html/test
      [root@nginx nginx-1.12.2]# cp /abc/11.jpg /usr/local/nginx/html/test/
      [root@nginx html]# service nginx restart       //重启服务
  • 使用client测试
    Nginx+Tomcat负载均衡群集搭建步骤及流程是怎么样的


看了以上关于Nginx+Tomcat负载均衡群集搭建步骤及流程是怎么样的,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。官网链接www.yisu.com

相关内容

热门资讯

前微软首席技术专家创办,智用开... 瑞财经 李兰 近日,据智用开物微信公众号,智用开物获近亿元天使+轮融资,由老股东瑞枫资本领投,创享投...
男子再婚后做全职丈夫,照顾岳父... 再婚相伴十余载,放弃工作悉心照料岳父多年,默默扛起家庭重任,感情走向破裂面临离婚,家务劳动与养老照料...
让每一粒粮食住上“空调房” 从田间到餐桌,粮食不仅要种得好,更要存得好。记者从国家粮食和物资储备局了解到,今年,我国将深入推进绿...
涉AI,中方在联合国表态 联合国举行AI主题会议,中方呼吁深化国际合作。 5日,中国、赞比亚常驻联合国代表团和中国科学技术协会...
5年1.3万亿!Anthrop... ▲头图由AI辅助生成 智东西 作者 | 陈佳 编辑 | 漠影 智东西5月6日消息,今日,据The I...
美政府为何酝酿收紧AI监管? 据美国多家媒体日前报道,美国政府正考虑对人工智能(AI)模型在公开发布前实施安全审查,并酝酿通过行政...
从无人机到卡车,大疆第二曲线“... 【文/观察者网 张家栋 编辑/高莘】 据《南华早报》5月5日报道,大疆旗下智能驾驶品牌卓驭(ZYT...
东京审判28名甲级战犯罪行全记... 1946年5月3日远东国际军事法庭在东京开庭11国法官,818次开庭419名证人出庭4336件证据4...
男子称爷爷向天津美院捐赠40件... 近日,康先生在社交平台发布视频称,其爷爷康建章于1996年向天津美术学院捐赠的40件书画作品,自己希...
以军总参谋长:在伊朗仍有一系列... △以色列国防军总参谋长扎米尔(资料图)当地时间5月6日,以色列国防军总参谋长扎米尔表示,以军与美军的...