实操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


结果验证:

相关推荐
Huanzhi_Lin9 分钟前
Nginx本地资源服务器-常用脚本
服务器·前端·nginx·batch·静态资源服务器
橘子编程34 分钟前
Hermes Agent 完整知识总结与使用教程
java·人工智能·ai·tomcat·maven·ai编程
卓怡学长1 小时前
基于 SpringBoot 的生活信息分享平台,从 0 到 1 完整实现(附源码 + 数据库)
java·数据库·spring boot·tomcat·maven
不吃香菜学java12 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
wuxinyan12312 小时前
Java面试题47:一文深入了解Nginx
java·nginx·面试题
小敬爱吃饭12 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
MaCa .BaKa12 小时前
47-心里健康咨询平台/心理咨询系统
java·spring boot·mysql·tomcat·maven·intellij-idea·个人开发
WJLSH12314 小时前
TomCat
java·tomcat
克里斯蒂亚诺更新16 小时前
myeclipse和tomcat的使用
ide·tomcat·myeclipse
计算机学姐16 小时前
基于SpringBoot的高校竞赛管理系统
java·spring boot·后端·spring·信息可视化·tomcat·mybatis