shell脚本一键部署tomcat
#!/bin/bash
#关闭防火墙和SELinux
systemctl stop firewalld && setenforce 0
yum -y install net-tools
#安装jdk环境因为还没有找到可以下载jdk的地址,所以这里可以和ansible结合将jdk的安装包分发至目标主机 这个jdk环境比较大,可以提前下载好。
#判断jdk是否安装
rpm -ivh jdk-8u131-linux-x64_.rpm
rpm -qa | grep jdk1.8.0_131-1.8.0_131-fcs.x86_64
if [ $? -eq 0 ]; then
echo "jdk环境已安装"
else
echo "jdk环境没有安装好,请先"
break
fi
#可以用ansible的copy模块分发tomcat的安装包
#先判断安装包是否分发过去
ls -l /root/ | awk '{print $9}' | grep apache-tomcat-8.5.35.tar.gz
if [ $? -eq 0 ]; then
echo "此压缩包已存在"
if [ ! -d /opt/tomcat ]; then
tar -zxf apache-tomcat-8.5.35.tar.gz && mkdir /opt/tomcat && mv /root/apache-tomcat-8.5.35 /opt/tomcat/
fi
continue
else
echo "此压缩包不存在"
break
fi
netstat -ntlp | grep 8080
if [ $? -eq 0 ]; then
echo "已有服务用此端口"
pid=`netstat -ntlp | grep 8080 | awk '{print $7}' | awk -F '/' '{print $1}'`
echo "pid是:${pid}"
kill $pid
echo "被占用的服务以杀死"
continue
else
break
fi
start_tomcat=`/opt/tomcat/apache-tomcat-8.5.35/bin/startup.sh`
netstat -ntlp | grep -w 8080
if [ $? -eq 0 ]; then
echo "服务已开启"
else
$start_tomcat
fi
ip=`/sbin/ifconfig -a|awk '{print $2}'|sed -n '2p'`
echo "$ip"
curl_code=`curl -I -m 10 -o /dev/null -s -w %{http_code} http://192.168.18.140:8080`
curl -I www.aaa.com:8080
echo ${curl_code}
if [ ${curl_code} -eq 200 ]; then
echo "tomcat-server is ok"
else
echo "tomcat-server is not ok"
fi
还是有一点小瑕疵的,欢迎指正,以免更多的人被误导

浙公网安备 33010602011771号