首页 > 技术文章 > 一键部署tomcat-8.5.61脚本(适用于centos7及ubuntu1804以后版本)

nj-duzi 2021-01-09 20:22 原文

请事先准好软件包:apache-tomcat-8.5.61.tar.gz和jdk-8u271-linux-x64.tar.gz。

#!/bin/sh
COLOR="echo -e \\E[1;32m"
COLOR1="echo -e \\E[1;31m"
END="\\E[0m"
jdk_file="jdk-8u271-linux-x64.tar.gz"
tomcat_file="apache-tomcat-8.5.61.tar.gz"
install_file="/apps"

#centos7安装
install_tomcat(){
    ${COLOR}"开始安装tomcat..."${END}
    [ -d $install_file ] || mkdir $install_file
    #判断jdk源码包是否存在
    [ -f "/root/${jdk_file}" ] && tar xf /root/${jdk_file} -C ${install_file} || { ${COLOR1}"jdk源码包不存在"${END}; exit; }
    #安装jdk
    ln -s ${install_file}/jdk1.8.0_271 ${install_file}/jdk 
    cat > /etc/profile.d/jdk.sh <<EOF
export JAVA_HOME=${install_file}/jdk
export JRE_HOME=\$JAVA_HOME/jre
export CLASSPATH=\$JAVA_HOME/lib/:\$JRE_HOME/lib/
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
    source /etc/profile.d/jdk.sh
    java -version && ${COLOR}"jdk安装完成!"${END} || ${COLOR1}"jdk安装失败,请检查!"${END}
    
    #判断tomcat源码包是否存在
    [ -f "/root/${tomcat_file}" ] && tar xf /root/${tomcat_file} -C ${install_file} || { ${COLOR1}"tomcat源码包不存在"${END}; exit; }
    #安装tomcat
    ln -s ${install_file}/apache-tomcat-8.5.61 ${install_file}/tomcat
    echo "PATH=${install_file}/tomcat/bin:"'$PATH' > /etc/profile.d/tomcat.sh
    source /etc/profile.d/tomcat.sh
    cat > ${install_file}/tomcat/conf/tomcat.conf <<EOF
JAVA_HOME=${install_file}/jdk
EOF
    id tomcat &> /dev/null || useradd -r -s /sbin/nologin tomcat
    chown -R tomcat.tomcat ${install_file}/tomcat/
    cat > /lib/systemd/system/tomcat.service <<EOF
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=${install_file}/tomcat/conf/tomcat.conf
ExecStart=${install_file}/tomcat/bin/startup.sh
ExecStop=${install_file}/tomcat/bin/shutdown.sh
RestartSec=3
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 && ${COLOR}"tomcat安装完成!"${END} || ${COLOR1}"tomcat安装失败,请检查!"${END}
}

[ -f "/lib/systemd/system/tomcat.service" ] && ${COLOR}"tomcat已安装!"${END} || install_tomcat

推荐阅读