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


结果验证:

相关推荐
绝不偷吃6 小时前
FastDFS分布式储存
linux·nginx
没有名字的小羊7 小时前
8.Docker镜像讲解
运维·docker·容器·tomcat
java1234_小锋8 小时前
解释一下NGINX的反向代理和正向代理的区别?
运维·nginx
PanZonghui16 小时前
Centos项目部署之Nginx 的安装与卸载
linux·nginx
你不知道我是谁?18 小时前
负载均衡--常见负载均衡算法
运维·负载均衡
星融元asterfusion18 小时前
基于路径质量的AI负载均衡异常路径检测与恢复策略
人工智能·负载均衡·异常路径
小马爱打代码1 天前
微服务外联Feign调用:第三方API调用的负载均衡与容灾实战
微服务·架构·负载均衡
charlee441 天前
nginx部署发布Vite项目
nginx·性能优化·https·部署·vite
ye901 天前
银河麒麟V10服务器版 + openGuass + JDK +Tomcat
java·开发语言·tomcat
CRMEB定制开发1 天前
【实战】CRMEB Pro 企业版安装教程(附 Nginx 反向代理配置 + 常见问题解决)
nginx·商城系统·微信商城·crmeb