美文网首页
10. Tomcat-单机部署-CentOS

10. Tomcat-单机部署-CentOS

作者: 随便写写咯 | 来源:发表于2021-01-18 00:03 被阅读0次
    #!/bin/bash
    
    . /etc/init.d/functions
    
    DIR=`pwd`
    JDK_FILE="jdk-8u271-linux-x64.tar.gz"
    TOMCAT_FILE="apache-tomcat-8.5.59.tar.gz"
    JDK_DIR="/usr/local"
    TOMCAT_DIR="/usr/local"
    
    install_jdk(){
    
    if ! [ -f "$DIR/$JDK_FILE" ]; then
        action "$JDK_FILE 文件不存在" false
        exit;
    elif [ -d $JDK_DIR/jdk ]; then
        action "JDK 已经安装" false
        exit;
    else
         [ -d "$JDK_DIR" ] || mkdir -pv $JDK_DIR
    fi
    
    tar xvf $DIR/$JDK_FILE -C $JDK_DIR
    cd $JDK_DIR && ln -s jdk1.8* 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 && action "JDK 安装完成" || { action "JDK 安装失败" false ; exit; }
    }
    
    install_tomcat(){
    
    if ! [ -f "$DIR/$TOMCAT_FILE" ];then
        action "$TOMCAT_FILE 文件不存在" false
        exit;
    elif [ -d $TOMCAT_DIR/tomcat ];then
        action "TOMCAT 已经安装" false
        exit;
    else 
         [ -d "$TOMCAT_DIR" ] || mkdir -pv $TOMCAT_DIR
    fi
    
    tar xvf $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
    
    [Service]
    Type=forking
    EnvironmentFile=$TOMCAT_DIR/tomcat/conf/tomcat.conf
    ExecStart=$TOMCAT_DIR/tomcat/bin/startup.sh
    ExecStop=$TOMCAT_DIR/tomcat/bin/shutdown.sh
    PrivateTmp=true
    User=tomcat
    Group=tomcat
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
    systemctl daemon-reload
    systemctl enable --now tomcat.service
    systemctl is-active tomcat.service &> /dev/null && action "TOMCAT 安装完成" || { action "TOMCAT 安装失败" false; exit; }
    }
    
    install_jdk
    install_tomcat
    

    相关文章

      网友评论

          本文标题:10. Tomcat-单机部署-CentOS

          本文链接:https://www.haomeiwen.com/subject/zhsmaktx.html