理论:
详细理论
tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
实验环境:
- 一台Centos7虚拟机
- tomcat软件包官网下载
#!/bin/bash
echo "########################################################"
echo "### 一键部署tomcat脚本 使用注意事项 ###"
echo "### 1:java版本需要在1.8以上(如果不是请去升级) ###"
echo "### 2:所需源码包为apache-tomcat-8.5.16 ###"
echo "### 3:仅在centos7测试过 ###"
echo "########################################################"
###########配置网卡信息##########
read -p 请您确认下是否需要配置网卡基本信息(yes/no) q
if [ $q = yes ];then
echo -e "\033[34m正在配置本机网卡基本信息...\033[0m"
mask=255.255.255.0
read -p "输入网卡接口名称:" ens
read -p "输入IP地址:" ip
echo -e "\033[33m子网掩码已默认为:255.255.255.0\033[0m"
read -p "输入网关地址:" route
read -p "输入首选DNS地址:" dns
ifc="/etc/sysconfig/network-scripts/ifcfg-"
echo "DEVICE=$ens" > $ifc$ens
echo "TYPE=Ethernet" >> $ifc$ens
echo "BOOTPROTO=static" >> $ifc$ens
echo "ONBOOT=yes" >> $ifc$ens
echo "IPADDR=$ip" >> $ifc$ens
echo "NETMASK=$mask" >> $ifc$ens
echo "GATEWAY=$route" >> $ifc$ens
echo "DNS1=$dns" >> $ifc$ens
systemctl restart network
if [ $? -eq 0 ];then
echo -e " 基本信息 \033[32m 配置成功 \033[0m "
else
echo -e " 基本信息 \033[31m 配置失败 \033[0m "
fi
elif [ $q = no ];then
printf "\033[1;32;40m好吧那咱们跳过这一简单的步骤\033[0m"
echo ""
break
else
printf "\033[1;32;40m默认为no呦~\033[0m"
echo ""
break
fi
setenforce 0
systemctl stop firewalld
read -p 请您确认是否已经将软件包(8.5.16)拉入到当前目录下了吗?(yes/no) a
if [ $a = yes ];then
tar -zxvf apache-tomcat-8.5.16.tar.gz -C /usr/src/ &>/dev/null
echo -e "\033[32m软件包解压完毕\033[0m"
else
echo -e "\033[31m那还不赶紧去拉软件包,愣着干嘛呀亲\033[0m"
read -p 拉完了吗?拉完包之后回车即可
tar -zxvf apache-tomcat-8.5.16.tar.gz -C /usr/src/ &>/dev/null
echo -e "\033[32m软件包解压完毕\033[0m"
fi
read -p 请您确认下将解压后的目录放到哪里(例:/usr/local/tomcat) b
cp -r /usr/src/apache-tomcat-8.5.16/ $b
echo -e "\033[32m目录移动+改名成功\033[0m"
#优化命令路径
export PATH=$PATH:$b/bin
read -p 请输入您的网页站点根目录(例:/myweb) c
cd $c &>/dev/null
if [ $? -eq 0 ];then
echo -e "\033[32m目录已锁定完毕\033[0m"
elif [ $? -ne 0 ];then
echo -en "\033[31m目录不存在\033[0m"
echo -n "正在创建目录"
mkdir -p $c
printf "\033[1;32;40m目录创建完毕\033[0m"
echo ""
fi
#在文件最后</Host>的上一行添加:
sed -i "/pattern=\"%h %l %u %t "%r" %s %b\"/a <Context docBase=\"$c\" path=\"\" reloadable=\"false\">" $b/conf/server.xml
sed -i '/<Context/a <\/Context>' $b/conf/server.xml
printf "\033[1;33;40m接下来就是该配置你的页面啦\033[0m"
echo ""
read -p 请输入您的jsp脚本文件名称(例:index.jsp) d
read -p 请您设置下网页文件的标题内容(随便) f
read -p 请您设置下网页文件的主要内容(随便) g
cat>$c/$d<<QQ
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>$f</title>
</head>
<body>
<% out.println("$g");%>
</body>
</html>
QQ
startup.sh &>/dev/null
firefox $ip:8080 &
printf "\033[1;36;40m脚本到此结束,感谢您的使用(#^.^#)\033[0m"
echo ""
随手写的一个小脚本,喜欢的可以拿走呦(2021未来可期!!!)