本文已参与新人创作礼活动,一起开启掘金创作之路
LINUX系统-CentOS7.9使用shell脚本一键部署tomcat服务! 系统环境:CentOS7.9
实验要求:部署tomcat服务
脚本执行方法:vim tomcat.sh
插入:
#!/bin/bash
#function:一键部署Tomcat
#author:墨染-2022-6-23
if [ $USER != root ];then
echo "当前不是root用户,请切换至root用户再次运行脚本"
exit
fi
ping -c3 -i0.1 -W1 www.baidu.com &> /dev/null
if [ $? != 0 ];then
echo "当前无网络,请保证网络畅通再次运行脚本"
exit
else
echo "当前网络畅通,即将开始运行脚本"
fi
sleep 2
systemctl stop firewalld.service && systemctl disable firewalld.service
sed -i 's/SELINUX=./SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/SELINUX=./SELINUX=disabled/' /etc/selinux/config
setenforce 0
echo "防火墙和selinux高级权限管理已关闭"
sleep 2
echo "开始部署Tomcat"
sleep 2
JDK=/usr/local/src/jdk-8u311-linux-x64.tar.gz
Tomcat=/usr/local/src/apache-tomcat-9.0.64.tar.gz
if [ ! -e $JDK ];then
echo "JDK安装包不存在,请讲安装包上传至/usr/local/src目录,再运行脚本"
exit
fi
if [ ! -e $Tomcat ];then
echo "Tomcat安装包不存在,请讲安装包上传至/usr/local/src目录,再运行脚本"
exit
fi
echo "开始解压依赖JDK安装包"
sleep 2
cd /usr/local/src
tar -xvf $JDK
LJ=/usr/local/src/jdk1.8.0_311
echo "正在更改环境变量"
sleep 2
echo "export JAVA_HOME="$LJ >> /etc/profile
echo "export CLASSPATH=.:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" >> /etc/profile
echo "export PATH=JAVA_HOME/bin" >> /etc/profile
if [ $? -eq 0 ];then
source /etc/profile && source /etc/profile
else
echo "未成功更改环境,请及时排查"
exit
fi
echo "开始安装Tomcat"
tar -xvf $Tomcat
KZ=/usr/local/src/apache-tomcat-9.0.64/bin
echo "正在将tomcat注册为系统服务"
cat>>/usr/lib/systemd/system/tomcat.service<< EOF
[Unit]
Description=Tomcatno)
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=oneshot
ExecStart=$KZ/startup.sh
ExecStop=$KZ/shutdown.sh
RemainAfterExit=yes \
[Install]
WantedBy=multi-user.target
EOF
read -p "是否部署Tomcat开机自启(yes/no):" xw
case $xw in
yes)
echo "服务及开机自启已部署成功"
systemctl start tomcat.service && systemctl enable tomcat.service && systemctl enable tomcat.service
systemctl status tomcat.service
echo "端口启动成功"
netstat -ntlp | grep 8080
echo "请在浏览器输入ifconfig | grep inet | cut -d " " -f 10 | head -1:8080测试"
;;
no)
echo "服务部署成功"
systemctl start tomcat.service && systemctl disable tomcat.service && systemctl disable tomcat.service
systemctl status tomcat.service
echo "端口启动成功"
netstat -ntlp | grep 8080
echo "请在浏览器输入ifconfig | grep inet | cut -d " " -f 10 | head -1:8080测试"
;;
*)
echo "请选择是否部署服务开机自启动:yes/no"
esac
交互式提示用户
在提示是否部署开机自启的时候需要输入:yes或no;
最终浏览器访问效果