请启用 Javascript 以查看内容

一键安装java、tomcat脚本

 ·  ☕ 4 分钟  ·  ✍ CNSRE

作者:SRE运维博客

博客地址: https://www.cnsre.cn/

文章地址:https://www.cnsre.cn/posts/211112839379/

相关话题:https://www.cnsre.cn/tags/shell/


前言

最近有几台新上的设备,需要安装jdk和tomcat。为了避免以后这种重复的劳动力,我决定写一个脚本,直接执行脚本就可以自动选择你安装的jdk以及tomcat的脚本,来避免这种问题。

脚本内容

此脚本只针对于centos7完成测试,其他版本未测试。使用时请注意。
脚本内容如下

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
LANG=en_US.UTF-8

RD="\033[31m"      # 错误消息
GR="\033[32m"      # 成功消息
YL="\033[33m"      # 告警消息
BL="\033[36m"      # 日志消息
PL='\033[0m'

clear
echo -e "${YL}##################################################${PL}"
echo -e "${YL}#${PL}${GR}脚本名称${PL}: 一键安装java、tomcat脚本              ${YL}#${PL}"
echo -e "${YL}#${PL}${GR}作    者${PL}: sre运维博客                           ${YL}#${PL}"
echo -e "${YL}#${PL}${GR}网    址${PL}: www.cnsre.cn                          ${YL}#${PL}"
echo -e "${YL}#${PL}${GR}文章地址${PL}: https://cnsre.cn/posts/211112839379/  ${YL}#${PL}"
echo -e "${YL}##################################################${PL}"
sleep 0.5

echo -e "${RD}本脚本将会自动安装1.8.0_221版本jdk以及8.5.23版本tomcat,请确认是否安装?${PL}"
read -r -p "确定请按 y 任意键则退出!请选择:[y/n]" input
    if [[ $input != "y" ]]; then
        exit 1
    else
        echo -e "${GR}正在下载java tomcat安装包,请稍后${PL}"
    fi
wget -q -c  https://pan.cnsre.cn/d/Package/Linux/jdk/tomcat-8.5.23_jdk1.8.0_221.tar.gz
tar -zxf  tomcat-8.5.23_jdk1.8.0_221.tar.gz
sleep 0.5

echo -e "${RD}是否确定安装 1.8.0_221 版本 jdk? ${PL}"
read -r -p "确定请按 y 任意键则退出!请选择:[y/n]" input
    if [[ $input != "y" ]]; then
        exit 1
    else 
        echo -e "${GR}你已经选择安装1.8.0_221版本 jdk${PL}"
    fi
read -r -p "请选择安装jdk的绝对路径,请不要输入最后的"/":" input

if [ ! -d $input ]; then
  echo -e "${RD}你输入的路径不存在,请重新输入或者创建后再次执行脚本${PL}"
  exit 1
fi

echo -e "${GR}正在安装 1.8.0_221 版本 jdk${PL}"
mv jdk1.8.0_221 $input/jdk

cat << EOF >> /etc/profile 
############## JAVA ##############
export JAVA_HOME=$input/jdk
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$JAVA_BIN:$PATH
EOF




echo -e "${GR}验JAVA home及版本${PL}"
sleep 2
chmod +x $input/jdk/bin/java
chmod +x $input/jdk/jre/bin/java
source /etc/profile
echo -e"${GR}你的java安装路径为:$JAVA_HOME ${PL}"
java  -version


echo -e "${RD}是否确定安装 8.5.23  版本 tomcat ? ${PL}"
read -r -p "确定请按 y 任意键则退出!请选择:[y/n]" input
    if [[ $input != "y" ]]; then
        exit 1
    else
        echo -e "${GR}你已经选择安装 8.5.23 版本 tomcat ${PL}"
    fi
read -r -p "请选择安装tomcat的绝对路径,请不要输入最后的"/":" input

if [ ! -d $input ]; then
  echo -e "${RD}你输入的路径不存在,请重新输入或者创建后再次执行脚本${PL}"
  exit 1
fi

echo -e "${GR}正在安装 8.5.23 版本 tomcat${PL}"
mv apache-tomcat-8.5.23  $input/tomcat

chmod +x $input/tomcat/bin/*.sh

echo -e "${GR}正在将tomcat加入系统服务${PL}"
sleep 2
touch /usr/lib/systemd/system/tomcat.service
cat << EOF >> /usr/lib/systemd/system/tomcat.service
[Unit]  
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target  

[Service]  
Type=forking  

ExecStart=$input/tomcat/bin/startup.sh
ExecReload=$input/tomcat/bin/startup.sh
ExecStop=$input/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target
EOF
sed -i '2i\export JAVA_HOME='$JAVA_HOME'' $input/tomcat/bin/catalina.sh

systemctl  daemon-reload
systemctl  restart tomcat.service
systemctl  status  tomcat.service

echo -e "${RD}请确认是否选择开机启动tomcat ? ${PL}"
read -r -p "确定请按 y 任意键则退出!请选择:[y/n]" input
    if [[ $input != "y" ]]; then
        systemctl  disable  tomcat.service
        echo -e "${GR}已为你关闭tomcat开机启动 ${PL}"
    else
        systemctl  enable  tomcat.service
        echo -e "${GR}已为你开启tomcat开机启动 ${PL}"
    fi

echo -e "${YL}==================================================================${PL}"
echo -e "${GR}tomcat部署完成并启动${PL}"
echo -e "${YL}==================================================================${PL}"
echo -e "${GR}外网tomcat地址: http://$(curl -sS --connect-timeout 10 -m 60 cip.cc |grep IP|awk -F ':[ ]' '{print $2}'):8080${PL}"
echo -e "${GR}内网tomcat地址: http://$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1):8080${PL}"
echo -e "${GR}你可以通过以下命令来管理tomcat服务${PL}"
echo -e "${GR}启动tomcat服务:systemctl  start tomcat.service${PL}"
echo -e "${RD}停止tomcat服务:systemctl  stop tomcat.service${PL}"
echo -e "${YL}重启tomcat服务:systemctl  restart tomcat.service${PL}"
echo -e "${GR}若无法访问tomcat,请检查防火墙/安全组是否有放行tomcat 8080 端口${PL}"
echo -e "${GR}==================================================================${PL}"


作者:SRE运维博客

博客地址: https://www.cnsre.cn/

文章地址:https://www.cnsre.cn/posts/211112839379/

相关话题:https://www.cnsre.cn/tags/shell/


分享

Avatar
作者
CNSRE
一位只会重启的运维


目录