首页 > 系统相关 >nginx+tomcat双端口实现负载均衡

nginx+tomcat双端口实现负载均衡

时间:2023-04-12 11:34:47浏览次数:48  
标签:CATALINA tomcat root lyx 端口 nginx local

nginx基础配置---点击

tomcat基础配置---点击

上述配置完成之后进行对tomcat配置不同端口

tomcat设置端口

# 移动tomcat设置两个主目录
[root@lyx local]# mv apache-tomcat-8.5.79 tomcat-home
[root@lyx local]# cp -R tomcat-home tomcat-8080
[root@lyx local]# cp -R tomcat-home tomcat-8090

进行修改对应端口8080默认不变修改8090:

[root@lyx local]# vi /usr/local/tomcat-8090/conf/server.xml

...
<Server port="8015" shutdown="SHUTDOWN">
...
<Connector port="8090" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
...

nginx+tomcat双端口实现负载均衡_tomcat

nginx+tomcat双端口实现负载均衡_tomcat_02

进入到tomcat-8080目录下创建一个启动的shell脚本和一个停止的shell脚本:

[root@lyx tomcat-8080]# cat start.sh
#!/bin/sh
CUR_DIR=`dirname $BASH_SOURCE`
export CATALINA_BASE=`readlink -f $CUR_DIR`
export CATALINA_HOME="/usr/local/tomcat-home"

if [ -f $CATALINA_HOME/bin/startup.sh ]; then
        $CATALINA_HOME/bin/startup.sh
else
        echo "$CATALINA_HOME/bin/startup.sh not exist"
fi
[root@lyx tomcat-8080]#
# 然后添加权限
[root@lyx tomcat-8080]# chmod +x start.sh
[root@lyx tomcat-8080]# cat stop.sh
#!/bin/sh
CUR_DIR=`dirname $BASH_SOURCE`
export CATALINA_BASE=`readlink -f $CUR_DIR`
export CATALINA_HOME="/usr/local/tomcat-home"

if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then
       $CATALINA_HOME/bin/shutdown.sh
else
       echo "$CATALINA_HOME/bin/shutdown.sh not exist"
fi
[root@lyx tomcat-8080]#
# 然后添加权限
[root@lyx tomcat-8080]# chmod +x start.sh

同样进入到tomcat-8090目录下创建一个启动的shell脚本和一个停止的shell脚本:

[root@lyx tomcat-8090]# cat start.sh
#!/bin/sh
CUR_DIR=`dirname $BASH_SOURCE`
export CATALINA_BASE=`readlink -f $CUR_DIR`
export CATALINA_HOME="/usr/local/tomcat-home"

if [ -f $CATALINA_HOME/bin/startup.sh ]; then
        $CATALINA_HOME/bin/startup.sh
else
        echo "$CATALINA_HOME/bin/startup.sh not exist"
fi
[root@lyx tomcat-8090]#
# 然后添加权限
[root@lyx tomcat-8090]# chmod +x start.sh
[root@lyx tomcat-8090]# cat stop.sh
#!/bin/sh
CUR_DIR=`dirname $BASH_SOURCE`
export CATALINA_BASE=`readlink -f $CUR_DIR`
export CATALINA_HOME="/usr/local/tomcat-home"

if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then
       $CATALINA_HOME/bin/shutdown.sh
else
       echo "$CATALINA_HOME/bin/shutdown.sh not exist"
fi
[root@lyx tomcat-8090]#
# 然后添加权限
[root@lyx tomcat-8090]# chmod +x stop.sh

对tomcat-8080进行启动:

[root@lyx tomcat-8080]# ./start.sh
Using CATALINA_BASE:   /usr/local/tomcat-8080
Using CATALINA_HOME:   /usr/local/tomcat-home
Using CATALINA_TMPDIR: /usr/local/tomcat-8080/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat-home/bin/bootstrap.jar:/usr/local/tomcat-8080/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.

对tomcat-8090进行启动:

[root@lyx tomcat-8090]# ./start.sh
Using CATALINA_BASE:   /usr/local/tomcat-8090
Using CATALINA_HOME:   /usr/local/tomcat-home
Using CATALINA_TMPDIR: /usr/local/tomcat-8090/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat-home/bin/bootstrap.jar:/usr/local/tomcat-9090/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.

对应访问:

nginx+tomcat双端口实现负载均衡_nginx_03

nginx+tomcat双端口实现负载均衡_tomcat_04

修改8090端口网页内容为tomcat-8090而8080端口为hello依然为猫作为对比测试:

[root@lyx local]# cd tomcat-8090/
[root@lyx tomcat-8090]# cd webapps/ROOT/
[root@lyx ROOT]# cp -a index.jsp index1.jsp
[root@lyx ROOT]# rm -rf index.jsp
[root@lyx ROOT]# cat index.jsp
tomcat-9090
[root@lyx ROOT]#



[root@lyx ~]# cd /usr/local/tomcat-8080/
[root@lyx tomcat-8080]# cat webapps/ROOT/index.jsp
hello
[root@lyx tomcat-8080]#

进行刷新网页查看:

nginx+tomcat双端口实现负载均衡_jar_05

nginx+tomcat双端口实现负载均衡_jar_06

注意:如果操作完之后会出现显示一个端口那么就是端口进行冲突需要进行修改环境变量:

# 编辑
vim /etc/profile

# 添加到最后

TOMCAT_HOME=/usr/local/tomcat-8080/
CATALINA_HOME=/usr/local/tomcat-8080/
CATLINA_BASE=/usr/local/tomcat-8080
export TOMCAT_HOME  CATALINA_HOME  CATALINA_BASH


TOMCAT_HOME_1=/usr/local/tomcat-8090
CATALINA_HOME_1=/usr/local/tomcat-8090
CATLINA_BASE_1=/usr/local/tomcat-8090
export TOMCAT_HOME_1  CATALINA_HOME_1  CATALINA_BASH_1

# 进行加载环境变量
source /etc/profile   #这个是一定要做的

# 然后进行修改tomcat的bin目录下catalina.sh

[root@lyx tomcat-8090]# vi bin/catalina.sh
# 添加
export CATALINA_HOME=$CATALINA_HOME_1
export CATALINA_HOME=$CATALINA_HOME_1

负载均衡——代理

进行配置nginx:

[root@lyx nginx-1.21.6]# vi /usr/local/nginx/conf/nginx.conf

# 添加:
     upstream tomcatserver{
        server 192.168.88.88:8080 weight=20;
        server 192.168.88.88:8088 weight=10;
}

nginx+tomcat双端口实现负载均衡_nginx_07

nginx+tomcat双端口实现负载均衡_nginx_08


# 停止nginx
[root@lyx ~]# /usr/local/nginx/sbin/nginx -s stop

# 启动nginx
[root@lyx ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
https://blog.csdn.net/hzy3344520/article/details/105081177

访问查看:

nginx+tomcat双端口实现负载均衡_nginx_09

再次刷新:

nginx+tomcat双端口实现负载均衡_jar_10

负载均衡——会话保持

[root@lyx ~]# vi /usr/local/nginx/conf/nginx.conf

nginx+tomcat双端口实现负载均衡_tomcat_11


# 停止nginx
[root@lyx ~]# /usr/local/nginx/sbin/nginx -s stop

# 启动nginx
[root@lyx ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

进行访问:一直不变

nginx+tomcat双端口实现负载均衡_jar_12

负载均衡——Session:根据cookie

[root@lyx ~]# vi /usr/local/nginx/conf/nginx.conf

nginx+tomcat双端口实现负载均衡_tomcat_13

编译环境:

nginx1.8.1---密码lyx

# 上传并且解压1.8.1 并且sticky也在此执行
[root@lyx ~]# cd /server/tools/
[root@lyx tools]# ll
总用量 940
drwxr-xr-x 9 1001 1001    230 4月  12 09:27 nginx-1.8.1
-rw-r--r-- 1 root root 833473 4月  12 09:20 nginx-1.8.1.tar.gz
-rw-r--r-- 1 root root 124138 4月  12 09:14 nginx-sticky-module-ng
# 下载Sticky
wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz

# 进行解压
tar -xvf master.tar.gz

#重命名为nginx-goodies-nginx-sticky-module-ng

mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 /opt/nginx-goodies-nginx-sticky-module-ng

#进入nginx目录进行安装编译
[root@localhost nginx-1.8.1]# ./configure --prefix=/usr/local/nginx  --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/server/tools/nginx-goodies-nginx-sticky-module-ng/


# 源码编译
make && make install ,一定要编译安装,否则不生效

# 查看模块
/usr/local/nginx/sbin/nginx -V


useradd -M -s /sbin/nologin nginx

#启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf


标签:CATALINA,tomcat,root,lyx,端口,nginx,local
From: https://blog.51cto.com/lyx888/6185339

相关文章

  • 80端口ntoskrnl.exe占用
    1.运行'netstat-ano|findstr80'发现80端口被pid=4的进程占用2.打开任务管理器,发现pid=4的进程,其实是system进程,其对应的进程描述是NTkernel&system。http协议里的某个进程占用了80,但是在任务管理器显示的是System,这个进程显式停止是无法停止的,只有在cmd.exe里使用netstopht......
  • 【ZYNQ】Vivado HLS端口约束小记
    【问】为什么m_axi要设置depth参数?【ChatGPT答】m_axi是一种用于FPGA设计中的总线协议,用于实现高速数据传输。在使用m_axi时,需要设置depth参数来定义队列的深度,以确保传输的可靠性和性能。队列是一种在数据传输过程中存储数据的结构。当发送数据的速度大于接收数据的速度时,队......
  • NGINX进一步学习
    神器Nginx的学习手册(建议收藏)运维网工 2023-04-0709:00 发表于重庆收录于合集#Nginx学习手册1个#安全运维5个#运维工程师109个来源:DevOps技术栈大家好,我是中文妹。Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上Nginx......
  • Tomcat彻底卸载干净
    1.首先直接删除原来的文件2.打开注册表 3.全局搜索Tomcat,删除对应的注册表4.之后以管理员身份打开任务管理器,输入scdeletetomcat10删除全部 ......
  • nginx中的proxy_pass配置
    Nginx是最常用的反向代理工具之一,一个指令proxy_pass搞定反向代理。对于接口代理、负载均衡很是实用,但proxy_pass指令后面的参数很有讲究,通常一个/都可能引发一个血案。通常nginx配置proxy_pass指令时,如果proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配......
  • 关于Tomcat9和Tomcat10的了解
    就离谱在我使用Tomcat10之前,我是没有想到9和10的差距可以这么大!习惯了使用Maven项目以及版本9的Tomcat,将相关的依赖习惯于导成javax;使用10的时候,html页面怎么也跳转不到servlet后台里面去,就很麻;找了好久,才找到解决办法:版本不同,导的包需要从原来的javax换乘jakarta全部推翻重......
  • Linux&Nginx16_Nginx负载均衡7
    一、概念在网站创立初期,我们一般都使用单台机器对外提供集中式服务。随着业务量的增大,我们一台服务器不够用,此时就会把多台机器组成一个集群对外提供服务,但是,我们网站对外提供的访问入口通常只有一个,比如www.web.com。那么当用户在浏览器输入www.web.com进行访问的时候,如何将......
  • 如何将微前端项目部署在同一台服务器同一个端口下
    作者:京东科技高飞前言本文旨在通过部署微前端项目的实践过程中沉淀出一套部署方案,现就一些重点步骤、碰到的问题做了一些总结。部署顺序因为线上部署主应用时需要用到子应用的线上可访问地址,因此部署顺序应该是先部署子应用,保证子应用能够线上可访问后,再将子应用的线上可访问......
  • 快速把Nginx安装为Windows服务,把软件加入系统服务自动启动方法windows下
    用nssm软件下载地址:https://nssm.cc/download 首先介绍一个NSSM这个小工具,将exe做成系统服务,非常方便实用。官网:NSSM-theNon-SuckingServiceManager直接下载:nssm-2-24NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还......
  • 端口异常导致网络数据无法发送
    1本地数据预览正常,但是发送到对端没有数据2抓包: sudotcpdump-vhost172.19.***.***-wyzm.data  抓取与目标IP之间的数据包;(本地终端输入。172.19.***.***是对方IP)tcpdump:listeningoneth0,link-typeEN10MB(Ethernet),capturesize262198bytesGot59......