• 多实例tomcat+nginx实现负载均衡


    一、Tomcat多实例

    1.1 安装好 jdk

    1.在部署 Tomcat 之前必须安装好 jdk,因为 jdk 是 Tomcat 运行的必要环境。

    1. 1. #关闭防火墙
    2. systemctl stop firewalld
    3. systemctl disable firewalld
    4. setenforce 0
    5. 2. #将安装 Tomcat 所需软件包传到/opt目录下
    6. apache-tomcat-9.0.16.tar.gz
    7. jdk-8u201-linux-x64.rpm
    8. 3. #切换至/opt下,安装JDK
    9. cd /opt
    10. rpm -ivh jdk-8u201-linux-x64.rpm
    11. 4. #查看java版本
    12. java -version

    负载均衡策略:

    要理解负载均衡,必须先搞清楚正向代理和反向代理

    正向代理:正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

    反向代理:nginx接收请求后,静态页面自己处理,动态页面交给后端服务器,由tomcat处理数据,处理完,返回给nginx服务器

    轮询每个请求按时间顺序,统一分配到不同的后端服务器上,如果后端服务器down掉,能自动剔除。

     nginx动静分离原理:

    静态资源交给nginx处理,根据location块去判断是静态资源还是动态资源。动态资源根据转发给tomcat服务器处理,转发给nginx返回给客户端。

    并发:(单位时间内最大请求数);

    吞吐量: 系统处理客户请求数量的总和;

    动静分离配置图:

    实验要求:

                   1. 准备4台服务器(2台tomcat后端服务器,一台nginx服务器,一台测试服务器)

                   2. nginx服务器为192.168.6.157

                       tomcat服务器192.168.6.154:8080;

                    (双端口) tomcat1服务器为192.168.6.152:8080 ,

                      tomcat2: 192.168.6.152:8081;(其实就相当于是3台tomcat后端服务器)

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

    1. 264 cd /opt
    2. 265 mkdir /usr/local/tomcat
    3. 266 tar xf apache-tomcat-9.0.16.tar.gz
    4. ####把解压目录下文件复制到tomcat1下面
    5. 272 mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1
    6. ######把tomcat1下文件复制到tomct2中作多实例
    7. 273 cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2

      2.配置环境变量

    vim  /etc/profile.d/java.sh

     source /etc/profile/java.sh (加载环境配置)

    创建测试目录1. /usr/local/tomcat/tomcat1/webapps/test

                          2. /usr/local/tomcat/tomcat2/webapps/test

      

    置tomcat1和tomcat2主机的外部访问配置 (两个tomcat端口不能重复)

    vim   /usr/local/tomcat/tomcat1/conf/server.xml

        vim   /usr/local/tomcat/tomcat2/conf/server.xml 

       

    修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号


    vim /usr/local/tomcat/tomcat2/conf/server.xml
    port="8006" shutdown="SHUTDOWN">        #22行,修改Server prot,默认为8005 -> 修改为8006
    port="8081" protocol="HTTP/1.1"        #69行,修改Connector port,HTTP/1.1  默认为8080 -> 修改为8081
    port="8010" protocol="AJP/1.3" redirectPort="8443" />    #116行,修改Connector port AJP/1.3,默认为8009 -> 修改为8010
    第一个连接器默认监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
    第二个连接器默认监听8009端口,AJP端口,即容器使用,如Apache能通过AJP协议访问Tomcat的8009端口。

     

     

    6.启动各 tomcat 中的 /bin/startup.sh

    1. /usr/local/tomcat/tomcat1/bin/startup.sh
    2. /usr/local/tomcat/tomcat2/bin/startup.sh
    3. netstat -natp | grep java

     http://192.168.6.152:8080

     

     http://192.168.6.152:8081

     

    换另外一台tomcat(192.168.6.154)主机配置

    1.关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下

    jdk-8u201-linux-x64.rpm
    apache-tomcat-9.0.16.tar.gz

    systemctl stop firewalld
    systemctl disable firewalld
    setenforce 0

    2.安装JDK

    cd /opt
    rpm -qpl jdk-8u201-linux-x64.rpm 
    rpm -ivh jdk-8u201-linux-x64.rpm 
    java -version

    3.设置JDK环境变量

    vim /etc/profile.d/java.sh
    export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

    source /etc/profile.d/java.sh
    java -version

    ---------------------------------小知识-------------------------------------------------------------------
    CLASSPATH:编译、运行Java程序时,JRE会去该变量指定的路径中搜索所需的类(.class)文件。
    JDK :java development kit (java开发工具)
    JRE :java runtime environment (java运行时环境)
    JVM :java virtuak machine (java虚拟机),使java程序可以在多种平台上运行class文件。
     

    首先使用文本工具编写java源代码,比如 Hello.java ;
    在命令行中,输入命令:javac Hello.java,对源代码进行编译,生成 class 字节码文件;
    编译完成后,如果没有报错信息,输入命令:java Hello,运行 class 字节码文件,由 JVM 对字节码进行解释和运行,打印 “Hello World”。


    vim Hello.java
    #类名、接口名命令:英文大小写字母、数字字符、$和_,不能使用关键字和数字开头;
    一个单词命名时第一个单词的首字母要大写;多单词组成时,所有单词的首字母大写:XxxYyyZzz(大驼峰命名法)

    public class Hello {            
      public static void main(String[] args){
        System.out.println("Hello world!");
      }
    }

    javac Hello.java
    java Hello

    4.安装启动Tomcat


    cd /opt
    tar zxvf apache-tomcat-9.0.16.tar.gz
    mv apache-tomcat-9.0.16 /usr/local/tomcat
    ##启动tomcat ##
    #后台启动
    /usr/local/tomcat/bin/startup.sh 

    /usr/local/tomcat/bin/catalina.sh start    
        
    #前台启动
    /usr/local/tomcat/bin/catalina.sh run        

    netstat -natp | grep 8080

    浏览器访问Tomcat的默认主页 http://192.168.6.152:8080

     nginx服务器动静分离负载均衡

     nginx服务器(192.168.6.157)

     yum 安装nginx或者编译安装都可以

    vim  /etc/nginx/nginx.conf

     vim /etc/nginx/conf/default.conf

     vim  /usr/share/nginx/html/test.html(插了一张图)

     静态页面

     动态页面

     刷新页面

     

     

     

     

                                      

                      

                  

  • 相关阅读:
    多测师肖sir___接口自动化测试框架(python+request+unittest+ddt)
    师德师风演讲稿写作格式:如何用三句话吸引听众的注意力
    chat-gpt笔记:参数temperature与top_p
    T-SNE可视化高维数据
    C声明和初始化和赋值
    7.DesignForSilkscreen\SilkscreenCheckAll
    基于Python实现的MLPNN实验
    蓝桥杯每日一题2023.11.28
    Python Http请求和HTML的解析
    Linux系列学习(二) - Vim编辑器的介绍及使用、文件编译的过程、Makefile工具、Gdb调试器
  • 原文地址:https://blog.csdn.net/weixin_59629968/article/details/127241563