Tomcat多实例一键部署shell脚本

#!bin/bash
#Tomcat部署脚本,提前将apache-tomcat-8.5.30.tar.gz、jdk-8u172-linux-x64.tar.gz上传至服务器的/tmp/目录下

#1.安装JDK
tar -zxf /tmp/jdk-8u172-linux-x64.tar.gz -C /usr/local/
ln -s /usr/local/jdk1.8.0_172/ /usr/local/jdk
#配置java环境
cat >> /etc/profile.d/java.sh <<EOF
export JAVA_HOME=/usr/local/jdk/
export PATH=\$JAVA_HOME/bin:\$JAVA_HOME/jre/bin:\$PATH
EOF

#注意此处的source /etc/profile,脚本运行完成后,需要退出再重新登录服务器加载/etc/profile。否则java环境失效
source /etc/profile
#2.安装Tomcat

tar -zxf /tmp/apache-tomcat-8.5.30.tar.gz -C /usr/local/
ln -s /usr/local/apache-tomcat-8.5.30/ /usr/local/tomcat
cd /usr/local/tomcat/
mkdir -pv /usr/local/tomcat_dir
mv conf/ logs/ temp/ webapps/ work/ /usr/local/tomcat_dir
#n为建立Tomcat实例的个数

n=7

for((i=1;i<=n;i++))
do
      /usr/bin/mkdir -pv /usr/local/tomcat$i
      /usr/bin/cp -a /usr/local/tomcat_dir/* /usr/local/tomcat$i
      sed -i 's/Server port="8005"/Server port="708'$i'"/' /usr/local/tomcat$i/conf/server.xml 
      sed -i 's/Connector port="8080"/Connector port="808'$i'"/' /usr/local/tomcat$i/conf/server.xml 
      sed -i 's/Connector port="8009"/Connector port="908'$i'"/' /usr/local/tomcat$i/conf/server.xml 
done

rm -rf /usr/local/tomcat_dir/
mkdir -pv /usr/local/tomcat_sh/

#注意下面的“\”,代表不转译。
cat > /usr/local/tomcat_sh/start_tomcat.sh <<EOF
#!/bin/bash

source /etc/profile
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=\${1%/}
export log=\$CATALINA_BASE/startup.log
# use %/ is for next grep match
echo \$CATALINA_BASE
Tomcat_PID=\$(ps aux | grep "java" | grep -v "grep"  | grep "Dcatalina.base=\${CATALINA_BASE}"  |awk '{print \$2}')

if [ -n "\$Tomcat_PID" ];then
    echo "The tomcat instance \$CATALINA_BASE is running,please checkout the status";
    exit 1;
fi
/usr/bin/sh \$CATALINA_HOME/bin/startup.sh > \$log 2>&1

if [ "\$?" = 0 ];then
    echo "The tomcat instance \$CATALINA_BASE start succeed!!!";
else
    echo "The tomcat instance \$CATALINA_BASE start faild!!!"
    tail -f \$log
fi
EOF

cat > /usr/local/tomcat_sh/stop_tomcat.sh <<EOF
#!/bin/bash

source /etc/profile
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=\${1%/}
export log=\$CATALINA_BASE/stop.log
# use %/ is for next grep match
echo \$CATALINA_BASE
Tomcat_PID=\$(ps aux | grep "java" | grep -v "grep"  | grep "Dcatalina.base=\${CATALINA_BASE}"  |awk '{print \$2}')

if [ -n "\$Tomcat_PID" ];then
    /usr/bin/sh \$CATALINA_HOME/bin/shutdown.sh > \$log 2>&1
else
    echo "The tomcat instance \$CATALINA_BASE is not running,please checkout the status"
    exit 1;

fi

if [ "\$?" = 0 ];then
    echo "The tomcat instance \$CATALINA_BASE stop succeed!!!";
else
    echo "The tomcat instance \$CATALINA_BASE stop faild!!!"
    tail -f \$log
fi
EOF

chmod +x -R /usr/local/tomcat_sh/

原文地址:http://blog.51cto.com/hbgslz/2120748

时间: 2024-10-02 23:32:05

Tomcat多实例一键部署shell脚本的相关文章

tomcat多实例的部署

解压部署tomcat程序创建2个实例的工作目录mkdir -p /usr/local/tomcat8_instance/tomcat1mkdir -p /usr/local/tomcat8_instance/tomcat2 拷贝tomcat 程序目录下的conf分别放入2个实例目录中cp -R /usr/local/tomcat8/conf /usr/local/tomcat8_instance/tomcat1cp -R /usr/local/tomcat8/conf/ /usr/local/t

Jenkins自动部署Shell脚本

注意:本脚本用于Shell脚本分享,因环境不同,不可直接用于其它环境部署用. #!/bin/bash#时间:2019年7月29日#作者:肖山#微信:helpxiaoshan#用途:用于XXXX UAT环境ATG商城项目Jenkins自动部署使用. ############ 使用注意事项:################################################################################# 注意1:需修改目标主机/etc/ssh/sshd

tomcat多实例启动和关闭脚本

1.tomcat启动脚本 #!/bin/sh# description: 启动tomcat多实例.. /etc/init.d/functionsRETVAL=$? # tomcat实例目录export CATALINA_BASE="$PWD" # tomcat安装目录export CATALINA_HOME="/var/opt/tomcat" # 可选export JVM_OPTIONS="-Xms128m -Xmx1024m -XX:PermSize=1

一键安装shell脚本

一.一键安装nginx脚本 #!/bin/bash #################################### #Name:nginx_install.sh #Author:doublelinux #version:1.1 #Date:2017/08/19 #################################### yum -y install pcre pcre-devel yum -y install openssl openssl-devel mkdir -p

LNMP一键安装shell脚本(v1.2)

鉴于搭建一个LNMP环境使用一步一步的方法安装比较笨拙,故将安装步骤编写成一个简单shell脚本,并且能实现大部分需求 适合的系统版本:CentOS6.5-6.7 64位 安装的前提准备: mysql-5.6.28.tar.gz cmake-3.4.3.tar.gz nginx-1.8.1.tar.gz libgd-2.1.1.tar.bz2 ibiconv-1.14.tar.gz jpegsrc.v6b.tar.gz php-5.6.20.tar.bz2 将以上的源码包download下来放并

tomcat多实例自动部署脚本

#!/bin/bash a=(a b c d e f g h k m n x y z A B C D E F 0 I M N X Y Z R S L Q P 0 1 2 3 4 5 6 7 8 9 * & ^ % $ # @) for ((i=0;i<10;i++));do echo -n ${a[$RANDOM % ${#a[@]}]} >> passwd.txt done PA=`cat passwd.txt` /bin/rm -rf passwd.txt JA=/JavaW

CentOS 6一键系统优化 Shell 脚本

脚本的内容如下: #!/bin/bash#author suzezhi#this script is only for CentOS 6#check the OS platform=`uname -i`if [ $platform != "x86_64" ];then echo "this script is only for 64bit Operating System !"exit 1fiecho "the platform is ok"ve

LNMP一键安装shell脚本

前段时间维护服务器,需要安装LNMP环境,所以就整理了一下,做为脚本,记录下来. #!/bin/sh #Copyright(c) 2010-2015 redapple ([email protected]) #install LNMP  #Version 0.1.1 #Date 20140813 #------------增加yum源------------------------ rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmfo

MySql一键安装shell脚本

#!/bin/bash #data:20171104 #QQ:654996537 #Name:Zhang #判断是否是root用户 if [ $(id -u) != "0" ]; then     echo " Not the root user! Try using sudo Command ! "     exit 1 fi #安装依赖包 yum -y groupinstall "Desktop Platform Development" y