本文链接: https://blog.csdn.net/xietansheng/article/details/84405208
1. 安装 JDK
Tomcat 使用 Java 实现,安装 Tomcat 之前,必须先安装 JDK,并且配置 JAVA_HOME 和 PATH 环境变量。如果已安装,忽略此步骤。
参考: Linux 系统下 JDK 安装和 Java 环境变量配置
2. 下载 Tomcat
Tomcat 官网: https://tomcat.apache.org
这里下载 9.0 版本的 Tomcat,打开官网,选择 Tomcat 9.0,下载跨平台通用的tar.gz
包版本,如下图:
PS: Tomcat 9.0 所需要的 JDK 版本必须是 JDK 8 以上。
下载到本地的文件名为: apache-tomcat-9.0.13.tar.gz
2. 安装 Tomcat
- 创建安装目录
# 以安装到 /usr/local 目录下为例
# 在 /usr/local 目录下创建一个 tomcat 目录, 用于存放解压文件夹
sudo mkdir /usr/local/tomcat
- 解压安装包到安装目录下
# 解压下载的 tar.gz 包, -C 指定解压输出目录
sudo tar -zxvf apache-tomcat-9.0.13.tar.gz -C /usr/local/tomcat
- 查看解压结果
# 如果没有权限, 先切换到管理员账户
ls /usr/local/tomcat
ls /usr/local/tomcat/apache-tomcat-9.0.13
Tomcat 服务器根目录下的文件夹:
bin
: 存放 Tomcat 的 启动、停止 等相关命令lib
: 存放 Tomcat 运行时所需要的 jar 包conf
: Tomcat 配置文件目录logs
: Tomcat 运行日志目录webapps
: 存放运行在 Tomcat 服务器内的应用程序(JavaWeb 应用部署目录)work
: 存放应用程序运行时动态生成的 java 代码和动态编译的 class 文件temp
: 存放 Tomcat 运行时产生的临时文件
3. 启动/停止 Tomcat
(1) 先进入到 Tomcat 的命令目录
# 先切换到管理员账户, 方便操作
su
# 进入到 Tomcat 的命令目录
cd /usr/local/tomcat/apache-tomcat-9.0.13/bin
(2) 启动 Tomcat
./startup.sh
(3) 查看 Tomcat 是否在运行(Tomcat 默认监听 8080 端口)
netstat -npl | grep :8080
PS: Tomcat 是 Java 程序,实际在进程中运行显示的是 Java 进程。
启动成功后,本地浏览器访问 Tomcat 默认首页: http://localhost:8080
(4) 停止 Tomcat
./shutdown.sh
4. 制作全局启动命令
上面所说的启动和停止 Tomcat 的方法需要先进入到命令目录,而且执行的是不同的命令,管理起来比较麻烦。网上介绍的许多方法是将相关命令目录添加到环境变量中或添加为系统服务,需要修改的地方也比较多。这里介绍另一种不需要修改原命令文件的管理方式,即通过制作一个简单的启动脚本命令来管理 Tomcat 的启动/停止。
4.1 添加 TOMCAT_HOME, TOMCAT_PORT 环境变量
为了方便修改和获取 Tomcat 安装根目录,默认端口等,这里先把 Tomcat 相关参数添加为环境变量:
- 打开全局环境变量配置文件
sudo vim /etc/profile
- 添加
TOMCAT_HOME
、TOMCAT_PORT
环境变量到/etc/profile
# 创建 TOMCAT_HOME 环境变量, 指向 Tomcat 根目录
export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-9.0.13
# 创建 Tomcat 服务器的端口号环境变量
export TOMCAT_PORT=8080
# PS: 以后 Tomcat 升级版本或目录变更, 默认端口变更, 修改这里即可
- 执行 source 命令重新加载配置文件,让刚配置的环境变量立即生效
source /etc/profile
4.2 创建启动脚本命令
- 在
/usr/local/bin
目录下创建一个空的命令文件,命名为tomcat
:
sudo touch /usr/local/bin/tomcat
PS: 由于/usr/local/bin
目录默认就在PATH
环境变量中,因此存放在/usr/local/bin
目录下的命令在任何路径下都可以直接执行。
- 给命令文件添加可执行权限
sudo chmod +x /usr/local/bin/tomcat
- 编辑命令文件
sudo vim /usr/local/bin/tomcat
添加以下脚本内容到tomcat
命令到文件中:
#!/bin/sh
DIR="$(cd "$(dirname "$0")" && pwd)"
cd $DIR
# 先判断需要用到的环境变量是否存在
if [ "${TOMCAT_HOME}" = "" ] || [ "${TOMCAT_PORT}" = "" ] ; then
# 需要先配置 TOMCAT_HOME 和 TOMCAT_PORT 环境变量
# export TOMCAT_HOME=Tomcat安装根目录
# export TOMCAT_PORT=Tomcat端口
echo "TOMCAT_HOME or TOMCAT_PORT environment variable not exists!"
echo
else
# 获取命令的第2个参数(第一个参数 $0 是命令自己本身)
OPERATOR="$1"
# 进入到 Tomcat 的命令目录
cd "${TOMCAT_HOME}/bin"
#
# 下面开始根据不同的参数执行相应的命令
#
if [ "${OPERATOR}" = "start" ] ; then
# 执行启动命令
./startup.sh
elif [ "${OPERATOR}" = "restart" ] ; then
# 执行重启命令(先停止, 再启动)
./shutdown.sh
./startup.sh
elif [ "${OPERATOR}" = "stop" ] ; then
# 执行停止命令
./shutdown.sh
elif [ "${OPERATOR}" = "status" ] ; then
# 输出监听状态, 主要是看是否有在监听 Tomcat 端口
netstat -npl | grep ":${TOMCAT_PORT}"
else
# 没有符合的参数, 输出命令格式说明
echo "Usage: tomcat <start|restart|stop|status>"
echo
fi
fi
- 保存成功后,在终端任何路径下执行命令管理 Tomcat:
#
# tomcat 命令中需要使用到管理员权限, 先切换到管理员账户
#
su
tomcat start # 启动 Tomcat
tomcat restart # 重启 Tomcat
tomcat stop # 停止 Tomcat
tomcat status # 查看 Tomcat 状态