集群"/>
如何使用nginx搭建tomcat集群
第一步:启动两个tomcat
首先安装jdk:
--解压并且重命名
tar -zxvf jdk-8u321-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
mv jdk1.8.0_321 jdk
-- 配置环境变量
vi /etc/profileexport JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin保存成功后,刷新环境变量
source /etc/profile[root@bigdata ~]# java -version 后出现以下即为成功
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
安装两个tomcat
解压:
tar -zxvf apache-tomcat-8.5.87.tar.gz -C /usr/local
重命名和复制:
[root@bigdata software]# cd /usr/local/
[root@bigdata local]# mv apache-tomcat-8.5.87 tomcat1
[root@bigdata local]# ls
bin etc games include jdk lib lib64 libexec nginx sbin share src tomcat1
[root@bigdata local]# cp -r tomcat1 tomcat2
[root@bigdata local]# ls
bin games jdk lib64 nginx share tomcat1
etc include lib libexec sbin src tomcat2
由于启动第二台的时候,会出现端口被占用的问题,所以要修改tomcat2的端口。
开始启动:
启动第一台tomcat
进入到bin目录下 cd /usr/local/tomcat1/bin
./startup.sh
启动第二台tomcat /usr/local/tomcat2/bin
进入到bin目录下 ./startup.sh
测试两台tomcat都没有问题。
第二步:修改Ngnx配置文件(反向代理的效果)
第一台的关键配置代码如下:
upstream tomcat1 {server 192.168.32.128:8080;}server {listen 80;server_name www.zpzp;#charset koi8-r;#access_log logs/host.access.log main;location / {proxy_pass http://tomcat1;index index.html index.htm;}
}
第二台的关键配置代码如下:
upstream tomcat2 {server 192.168.32.128:8081;}server {listen 80;server_name www.oaoa;#charset koi8-r;#access_log logs/host.access.log main;location / {proxy_pass http://tomcat2;index index.html index.htm;}
}
重新加载配置文件:
nginx -s reload
因为网址是假的,所以修改hosts文件:
windows 的hosts文件在这里:
C:\Windows\System32\drivers\etc
修改内容如下:
192.168.32.128 www.oaoa
192.168.32.128 www.zpzp
为了查看效果方便,将两个tomcat的系统修改一个名字。
去每一个tomcat的webapps文件夹下,进入ROOT目录,修改index.jsp
两台tomcat 重启。
2)负载均衡
客户的请求发送到服务端以后,如何让集群中所有的服务器都能够达到性能的最佳状态。
100请求 ---> Nginx --> 根据之前约定的规则 将请求分发给不同的Tomcat服务器
集群:比如Tomcat集群,多个Tomcat提供了相同的服务,就叫做Tomcat集群。
以上这个图:使用Nginx搭建tomcat集群。
此时我们要做的是:www.zpzp
不断的访问这个网址,一会儿tomcat1 给我响应,一会儿显示tomcat3 的页面。
[root@bigdata ~]# cd /usr/local/
[root@bigdata local]# ls
bin games jdk lib64 nginx share tomcat1
etc include lib libexec sbin src tomcat2
[root@bigdata local]# cp -r tomcat1 tomcat3
修改tomcat3的端口号
修改 tomcat3 下的conf文件夹下的server.xml
启动tomcat3
[root@bigdata local]# cd tomcat3
[root@bigdata tomcat3]# cd bin
[root@bigdata bin]# ./startup.sh
准备工作就绪,开始配置Nginx的负载均衡。
upstream tomcat1 {server 192.168.32.128:8080;server 192.168.32.128:8082; --这个是新追加的tomcat}
重新加载配置文件
nginx -s reload
为了看到访问相同的域名 www.zpzp 是不同的tomcat响应的这个效果,修改一下页面的显示(公司别这么干)
由于修改的是Jsp ,所以要重新编译,重启tomcat3服务器。
测试页面是否出现了轮询的效果。
还有一种情况:在真实的公司里面公司的服务器是有优劣的。轮询不一定是适合的,配置高的服务器要多干活才可以。使用权重
权重越⾼分配的请求越多,权重越低,请求越少。默认是都是1
upstream tomcat1 {server 192.168.32.128:8080;server 192.168.32.128:8082 weight=2;}
重新加载配置文件
nginx -s reload
更多推荐
如何使用nginx搭建tomcat集群
发布评论