Nginx实现后端多台Tomcat的负载均衡调度

最是人间留不住,朱颜辞镜花辞树。这篇文章主要讲述Nginx实现后端多台Tomcat的负载均衡调度相关的知识,希望能为你提供帮助。


4.1环境及主机


IP
主机名
角色
软件
172.16.0.8
nginx08.shone.cn
反向代理调度
nginx
172.16.0.18
T18.shone.cn
Tomcat 主机18
【Nginx实现后端多台Tomcat的负载均衡调度】 JDK、Tomcat
172.16.0.28
T28.shone.cn
Tomcat 主机28
JDK、Tomcat
# 因为在反向代理调度服务器上对后端得Tomcat主机是通过域名方式定义的,所以需要做好DNS域名解析,直接在hosts文件内定义
vim /etc/hosts
172.16.0.8nginx08.shone.cnnginx08
172.16.0.18T18.shone.cnT18
172.16.0.28T28.shone.cnT28

4.2后端两台 Tomcat 主机配置
[root@CentOS84-IP172-18 ]#hostnamectl set-hostname T18.shone.cn
[root@CentOS84-IP172-18 ]#exit
[root@T18 ]#cat xjzth.sh
#!/bin/bash
timedatectl set-timezone Asia/Shanghai
sed -i s/pool 2.centos.pool.ntp.org iburst/server ntp1.aliyun.com iburst/g /etc/chrony.conf
systemctl enable --nowchronyd.service
systemctl restartchronyd.service
date
[root@T18 ]#
[root@T18 ]#bash xjzth.sh

[root@T18 ]#rz
rz waiting to receive.
Starting zmodem transfer.Press Ctrl+C to cancel.
Transferring apache-tomcat-10.0.20.tar.gz...
100%11636 KB1057 KB/sec00:00:110 Errors
Transferring install_tomcat2022.sh...
100%3 KB3 KB/sec00:00:010 Errors
Transferring jdk-11.0.14_linux-x64_bin.tar.gz...
100%164726 KB397 KB/sec00:06:540 Errors

[root@T18 ]#ll
-rw-r--r--1 root root11915655 Apr8 20:53 apache-tomcat-10.0.20.tar.gz
-rw-r--r--1 root root3111 Apr9 05:44 install_tomcat2022.sh
-rw-r--r--1 root root 168679847 Apr8 22:27 jdk-11.0.14_linux-x64_bin.tar.gz

[root@T18 ]#cat install_tomcat2022.sh
#!/bin/bash
#
#******************************************************************< strong>
#Author:wangxiaochun
#QQ:29308620
#Date:2021-03-15
#FileName:install_tomcat.sh
#URL:http://www.wangxiaochun.com
#Description:The test script
#Copyright (C):2021 All rights reserved
#< /strong> ******************************************************************

DIR=`pwd`
JDK_FILE="jdk-11.0.14_linux-x64_bin.tar.gz"
TOMCAT_FILE="apache-tomcat-10.0.20.tar.gz"
JDK_DIR="/usr/local"
TOMCAT_DIR="/usr/local"

color ()
RES_COL=60
MOVE_TO_COL="echo -en \\\\033[$RES_COLG"
SETCOLOR_SUCCESS="echo -en \\\\033[1; 32m"
SETCOLOR_FAILURE="echo -en \\\\033[1; 31m"
SETCOLOR_WARNING="echo -en \\\\033[1; 33m"
SETCOLOR_NORMAL="echo -en \\E[0m"
echo -n "$2" & & $MOVE_TO_COL
echo -n "["
if [ $1 = "success" -o $1 = "0" ] ; then
$SETCOLOR_SUCCESS
echo -n $"OK"
elif [ $1 = "failure" -o $1 = "1"] ; then
$SETCOLOR_FAILURE
echo -n $"FAILED"
else
$SETCOLOR_WARNING
echo -n $"WARNING"
fi
$SETCOLOR_NORMAL
echo -n "]"
echo




install_jdk()
if ![-f "$DIR/$JDK_FILE" ]; then
color 1 "$JDK_FILE 文件不存在"
exit;
elif [ -d $JDK_DIR/jdk ]; then
color 1"JDK 已经安装"
exit
else
[ -d "$JDK_DIR" ] || mkdir -pv $JDK_DIR
fi
tar xvf $DIR/$JDK_FILE-C $JDK_DIR
cd$JDK_DIR & & ln -s jdk* jdk

cat > /etc/profile.d/jdk.sh < < EOF
export java_HOME=$JDK_DIR/jdk
export JRE_HOME=\\$JAVA_HOME/jre
export CLASSPATH=\\$JAVA_HOME/lib/:\\$JRE_HOME/lib/
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF
./etc/profile.d/jdk.sh
java -version & & color 0 "JDK 安装完成" ||color 1"JDK 安装失败" ; exit;



install_tomcat()
if ! [ -f "$DIR/$TOMCAT_FILE" ]; then
color 1 "$TOMCAT_FILE 文件不存在"
exit;
elif [ -d $TOMCAT_DIR/tomcat ]; then
color 1 "TOMCAT 已经安装"
exit
else
[ -d "$TOMCAT_DIR" ] || mkdir -pv $TOMCAT_DIR
fi
tar xf $DIR/$TOMCAT_FILE -C $TOMCAT_DIR
cd$TOMCAT_DIR & & ln -s apache-tomcat-*/tomcat
echo "PATH=$TOMCAT_DIR/tomcat/bin:"$PATH > /etc/profile.d/tomcat.sh
id tomcat & > /dev/null || useradd -r -s /sbin/nologin tomcat

cat > $TOMCAT_DIR/tomcat/conf/tomcat.conf < < EOF
JAVA_HOME=$JDK_DIR/jdk
EOF

chown -R tomcat.tomcat $TOMCAT_DIR/tomcat/

cat > /lib/systemd/system/tomcat.service< < EOF
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=$TOMCAT_DIR/tomcat/conf/tomcat.conf
ExecStart=$TOMCAT_DIR/tomcat/bin/startup.sh
ExecStop=$TOMCAT_DIR/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now tomcat.service & > /dev/null
systemctl is-active tomcat.service & > /dev/null & & color 0 "TOMCAT 安装完成" ||color 1 "TOMCAT 安装失败" ; exit;



install_jdk
install_tomcat
[root@T18 ]#



[root@T18 ]#bash install_tomcat2022.sh
.................................
jdk-11.0.14/release
java version "11.0.14" 2022-01-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.14+8-LTS-263)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.14+8-LTS-263, mixed mode)
JDK 安装完成[OK]
TOMCAT 安装完成[OK]
[root@T18 ]#





[root@T18 ]#ll /usr/local/tomcat/conf/server.xml
-rw------- 1 tomcat tomcat

    推荐阅读