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

一、Tomcat多实例

1.1 安装好 jdk

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

1. #关闭防火墙
 
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
 
2. #将安装 Tomcat 所需软件包传到/opt目录下
apache-tomcat-9.0.16.tar.gz 
jdk-8u201-linux-x64.rpm
 
3. #切换至/opt下,安装JDK
cd /opt
rpm -ivh jdk-8u201-linux-x64.rpm 
​
4. #查看java版本
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 应用服务器

       
  264  cd /opt
  265  mkdir  /usr/local/tomcat 
  266  tar xf apache-tomcat-9.0.16.tar.gz 

       ####把解压目录下文件复制到tomcat1下面

  272  mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1

       ######把tomcat1下文件复制到tomct2中作多实例

  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
<Server port="8006" shutdown="SHUTDOWN">        #22行,修改Server prot,默认为8005 -> 修改为8006
<Connector port="8081" protocol="HTTP/1.1"        #69行,修改Connector port,HTTP/1.1  默认为8080 -> 修改为8081
<Connector 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

/usr/local/tomcat/tomcat1/bin/startup.sh 
/usr/local/tomcat/tomcat2/bin/startup.sh 

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(插了一张图)

 静态页面

 动态页面

 刷新页面

 

 

 

 

                                  

                  

              

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值