49.第41章 tomcat
时间:2021-07-31
本文章向大家介绍49.第41章 tomcat,主要包括49.第41章 tomcat使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
tomcat一键安装脚本
[root@centos7 ~]# cat install_tomcat.sh
#!/bin/bash
#
#********************************************************************
#Author: zhanghui
#QQ: 19661891
#Date: 2021-07-31
#FileName: install_tomcat.sh
#URL: www.neteagles.cn
#Description: The test script
#Copyright (C): 2021 All rights reserved
#********************************************************************
SRC_DIR=/usr/local/src
COLOR="echo -e \\033[01;31m"
END='\033[0m'
JDK_FILE="jdk-8u301-linux-x64.tar.gz"
TOMCAT_URL="https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.69/bin/"
TOMCAT_FILE="apache-tomcat-8.5.69.tar.gz"
INSTALL_DIR=/apps
os(){
if grep -Eqi "CentOS" /etc/issue || grep -Eq "CentOS" /etc/*-release;then
rpm -q redhat-lsb-core &> /dev/null || { ${COLOR}"安装lsb_release工具"${END};yum -y install redhat-lsb-core &> /dev/null; }
fi
OS_ID=`lsb_release -is`
}
check_file (){
cd ${SRC_DIR}
if [ ${OS_ID} == "CentOS" ] &> /dev/null;then
rpm -q wget &> /dev/null || yum -y install wget &> /dev/null
fi
if [ ! -e ${JDK_FILE} ];then
${COLOR}"缺少${JDK_FILE}文件"${END}
exit
elif [ ! -e ${TOMCAT_FILE} ];then
${COLOR}"缺少${TOMCAT_FILE}文件"${END}
wget ${TOMCAT_URL}${TOMCAT_FILE} || { ${COLOR}"Tomcat源码包下载失败"${END}; exit; }
else
${COLOR}"相关文件已准备好"${END}
fi
}
install_jdk(){
[ -d ${INSTALL_DIR}/jdk ] && { ${COLOR}"JDK已存在,安装失败"${END};exit; }
[ -d ${INSTALL_DIR} ] || mkdir -p ${INSTALL_DIR} &> /dev/null
cd ${SRC_DIR}
tar xf ${JDK_FILE} -C ${INSTALL_DIR}
ln -s ${INSTALL_DIR}/jdk1.8.* ${INSTALL_DIR}/jdk
cat > /etc/profile.d/jdk.sh <<-EOF
export JAVA_HOME=${INSTALL_DIR}/jdk
export JRE_HOME=\$JAVA_HOME/jre
export CLASSPATH=\$JAVA_HOME/lib/:\$JRE_HOME/lib/
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
. /etc/profile.d/jdk.sh
java -version && ${COLOR}"JDK 安装完成"${END} || { ${COLOR}"JDK 安装失败"${END} ; exit; }
}
install_tomcat(){
[ -d ${INSTALL_DIR}/tomcat ] && { ${COLOR}"JDK已存在,安装失败"${END};exit; }
cd ${SRC_DIR}
tar xf ${TOMCAT_FILE} -C ${INSTALL_DIR}
ln -s ${INSTALL_DIR}/apache-tomcat-* /${INSTALL_DIR}/tomcat
echo "PATH=${INSTALL_DIR}/tomcat/bin:"'$PATH' > /etc/profile.d/tomcat.sh
id tomcat &> /dev/null || useradd -r -s /sbin/nologin tomcat
cat > ${INSTALL_DIR}/tomcat/conf/tomcat.conf <<-EOF
JAVA_HOME=${INSTALL_DIR}/jdk
EOF
chown -R tomcat.tomcat ${INSTALL_DIR}/tomcat/
cat > /lib/systemd/system/tomcat.service <<-EOF
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target
[Service]
Type=forking
EnvironmentFile=${INSTALL_DIR}/tomcat/conf/tomcat.conf
ExecStart=${INSTALL_DIR}/tomcat/bin/startup.sh
ExecStop=${INSTALL_DIR}/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now tomcat &> /dev/null
systemctl is-active tomcat &> /dev/null && ${COLOR}"TOMCAT 安装完成"${END} || { ${COLOR}"TOMCAT 安装失败"${END} ; exit; }
}
main(){
check_file
install_jdk
install_tomcat
}
main
原文地址:https://www.cnblogs.com/neteagles/p/15085291.html
- 【web必知必会】——图解HTTP(上)
- 【web必知必会】—— 图解HTTP(下)
- 【Spring实战】—— 14 传统的JDBC实现的DAO插入和读取
- 【AngularJS】—— 4 表达式
- 【AngularJS】—— 5 表单
- 【AngularJS】—— 1 初识AngularJs
- 【AngularJS】—— 2 初识AngularJs(续)
- 【AngularJS】—— 3 我的第一个AngularJS小程序
- 【Spring实战】—— 2 构造注入
- 共享单车运维“朋友圈”越来越宽,乱停乱放现象有望改善吗?
- 【Spring实战】—— 15 Spring JDBC模板使用
- 前端开发总览
- 【Spring实战】—— 16 基于JDBC持久化的事务管理
- 【Spring实战】—— 4 Spring中bean的init和destroy方法讲解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法