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


结果验证:

相关推荐
GDAL9 小时前
NJS 共享字典(ngx.shared)全解析:跨 Worker 进程的数据共享方案
nginx·shared·njs
xifangge20259 小时前
PHP 错误日志在哪里看?Apache / Nginx / PHP-FPM 一次讲清
nginx·php·apache
鸠摩智首席音效师10 小时前
如何安装和配置 Nginx 反向代理服务器 ?
运维·nginx
星光不问赶路人12 小时前
Nginx 的 location 路径匹配语法详解
nginx·api
GDAL12 小时前
深入理解 NJS 全局对象:掌控运行时的核心工具
nginx·njs
计算机毕设指导612 小时前
基于微信小程序的钓鱼论坛系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
GDAL14 小时前
精通 NJS HTTP 请求对象:全方位掌控 NGINX 请求生命周期
nginx·njs
飞翔沫沫情14 小时前
Nginx运维维护规范及全配置详解【持续更新】
nginx·nginx 配置·nginx 操作手册·nginx 使用规范·nginx 日志规范·nginx 配置文件说明
Controller-Inversion15 小时前
负载均衡与反向代理
运维·负载均衡
deriva15 小时前
nginx如何将某域名/二级站点/代理到二级站点?以ChirpStack实战为例
运维·nginx