实操Nginx+Tomcat多实例部署,实现负载均衡和动静分离

192.168.10.10

192.168.10.20

192.168.10.30

复制代码
 location ~ \.jsp$ {
        proxy_pass http://192.168.10.50:8080;
        } 
        location ~ \.(jsp|html)$ {
        root /usr/share/nginx/html;
        }

192.168.10.40和192.168.10.50用脚本完成搭建此处安装附上脚本:

复制代码
#!/bin/bash

# 定义变量
JDK_PACKAGE="jdk-8u201-linux-x64.rpm"
JDK_INSTALL_PATH="/usr/java/jdk1.8.0_201-amd64"

TOMCAT_PACKAGE="apache-tomcat-9.0.16.tar.gz"
TOMCAT_INSTALL_PATH="/usr/local/tomcat"
TOMCAT_USER="tomcat"
TOMCAT_GROUP="tomcat"

# Function to install JDK
install_jdk() {
    if [ -e "$JDK_PACKAGE" ]; then
        rpm -ivh "$JDK_PACKAGE" &> /dev/null
        if [ $? -eq 0 ]; then
            echo -e "E[1;32m JDK 安装成功 E[0m"
        else
            echo -e "E[1;31m JDK 安装失败 E[0m"
        fi
    else
        echo "无 JDK 包"
    fi
}

# Function to modify environment variables
setup_environment() {
    echo "
export JAVA_HOME=$JDK_INSTALL_PATH
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile

    source /etc/profile
}

# Function to install Tomcat
install_tomcat() {
    if [ -e "$TOMCAT_PACKAGE" ]; then
        tar zxvf "$TOMCAT_PACKAGE" &> /dev/null
        cp -r $(basename "$TOMCAT_PACKAGE" .tar.gz) "$TOMCAT_INSTALL_PATH"
        useradd -s /sbin/nologin "$TOMCAT_USER"
        chown "$TOMCAT_USER":"$TOMCAT_GROUP" "$TOMCAT_INSTALL_PATH" -R

        cat > /usr/lib/systemd/system/tomcat.service <<EOF
[Unit]
Description=Tomcat
After=syslog.target network.target

[Service]
Type=forking
ExecStart=$TOMCAT_INSTALL_PATH/bin/startup.sh
ExecStop=$TOMCAT_INSTALL_PATH/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=$TOMCAT_USER
Group=$TOMCAT_GROUP

[Install]
WantedBy=multi-user.target
EOF

        systemctl daemon-reload
        systemctl start tomcat

        if systemctl status tomcat &> /dev/null; then
            echo -e "E[1;32m Tomcat 启动成功 E[0m"
        else
            echo -e "E[1;31m Tomcat 启动失败 E[0m"
        fi
    else
        echo "无 Tomcat 安装包"
    fi
}

# Main script execution
install_jdk
setup_environment
java -version
install_tomcat

# Create symbolic links for Tomcat binary files
ln -s $TOMCAT_INSTALL_PATH/bin/* /usr/bin

# 检查 JDK 版本
echo -e "E[1;36m 检查 JDK 版本: E[0m"
java -version

# 检查 Tomcat 版本
echo -e "E[1;36m 检查 Tomcat 版本: E[0m"
cat $TOMCAT_INSTALL_PATH/RELEASE-NOTES | grep "Apache Tomcat Version"
# 获取本机 IP 地址
IP_ADDRESS=$(hostname -I | awk '{print $1}')

# 将 IP 地址写入到 index.jsp 文件
echo $IP_ADDRESS > /usr/local/tomcat/webapps/ROOT/index.jsp

echo "IP 地址已写入到 /usr/local/tomcat/webapps/ROOT/index.jsp 文件中"

192.168.10.40

192.168.10.50


结果验证:

相关推荐
松莫莫29 分钟前
Nginx 学习笔记
笔记·学习·nginx
BullSmall1 小时前
Tomcat SSL 配置及常见问题
java·tomcat·ssl
悟能不能悟1 小时前
Apache和nginx的区别
运维·nginx
楠枬2 小时前
负载均衡 -LoadBalance
后端·spring·spring cloud·负载均衡
irisart2 小时前
第一章【基石与起源】—— 编译、安装与配置
运维·nginx·angie
Luna-player3 小时前
Spring整合MyBatis-Pluss 部分课堂学习笔记
java·开发语言·tomcat
卓码软件测评16 小时前
第三方软件验收评测机构【Gatling安装指南:Java环境配置和IDE插件安装】
java·开发语言·ide·测试工具·负载均衡
BD_Marathon21 小时前
【JavaWeb】Tomcat_部署项目方式
java·tomcat
阿海57421 小时前
安装nginx1.29.3的shell脚本命令
linux·nginx
柯南二号1 天前
【后端】【Java】可直接落地的 Nginx + Java(Spring Boot)+ Redis 的短链系统实现
java·spring boot·nginx