Linux之路:Centos安装 Tomcat

Java Web 开发有三件秘宝:JDKMySQLTomcat。一般来说,开发时我们会将这些组件都安装到我们的本机电脑中,这使得我们开发更为便捷。然而实际情况中,TomcatMySQL 等往往都是安装在服务器中,而服务器大多采用 Linux 系统,其中以CentOS居多。于是,学习在 CentOS 系统中安装三件套势在必行。

在之前,笔者已经给出JDKMySQLCentOS的安装方式:

今天我们就了解在CentOS中安装 Tomcat、并发布 Web 项目到其中,同时适用于其他Linux系统的操作。

前言

若要优雅的阅读并使用本文中的内容,请确定您已经知晓:

  • 使用SSH连接到Linux服务器
  • Linux中已经 安装并配置好JDK环境变量
  • 会使用 wget 命令下载文件
  • 基本的Linux命令,以及操作

下载

1. 作者提供

😁若是怕麻烦,可以从作者君这里的 Tomcat9 下载 直接下载 ,支持卑微的作者。

下载完到本地 Windows 中,找到下载好的文件,它应该是一个压缩包,名称如下图:

image-20210520181051273

记住这个压缩包的所在的文件夹,打开 XShell 或任意一款 SSH 工具,连接到 CentOS 中:

image-20210520181441451

输入上传文件的命令 rz -be,点按 Enter ,会弹出选择文件的选择框:

image-20210520183319577

有些CentOS/Linux系统可能会出现 command not found,提示命 rz令未找到,这是由于系统中没有安装此命令的原因,此时我们只需要执行

yum install lrzsz

安装一下就好了

找到刚刚下载的 Tomcat9 的压缩文件,选择此文件,文件会自动上传到当前所处文件夹:

image-20210520202828489

image-20210520202903030

2. 从镜像网站

若上述方式不满意,我建议选择镜像网站 wget 直接下载到 Linux 中。

先进入任意一个镜像网站,这里我选择清华大学的 TUNA镜像站,逐级寻找目录,找到 apache-tomcat-9.0.xx.tar.gz 文件:

image-20210520205440902

右键点击该项,选择复制链接:

image-20210520205928056

接着回到命令行,首先获取 root 权限,再使用 wget + 复制的链接 下载该文件:

image-20210520212719576

3. 从官网

一般来说,特别是对于软件开发来说,软件最好是从官方渠道下载,这样可以避免软件的篡改等等。

对于Tomcat,由于其是 Apache 国外开源基金会的产品,服务器在国外,没有科学操作之前,下载可能较慢,但我们还是需要这个过程。

首先打开 Apache Tomcat官网 ,在左侧 Download中,点击选择指定的版本,这里我建议选择 Tomcat9,因为实现在JDK8,这也是目前建议的版本。

image-20210520175044385

选择 Core 中的 tar.gz 版本,右键复制链接(不要点到后面的pgp,sha512):

image-20210520175422955

随后回到命令行,按照 点击此处 的方法,使用 wget 命令下载即可。

安装

解压

获取 root 权限

su root

将下载的此文件解压到 /opt/ 目录下:

tar -xvf apache-tomcat-9.0.46.tar.gz -C /opt/

启动

进入启动文件夹目录 /opt/apache-tomcat-9.0.46/bin:

cd /opt/apache-tomcat-9.0.46/bin

image-20210520213752976

执行 startup.sh , 启动 Tomcat

./startup.sh

若能看到如下图,则说明 Tomcat安装并启动成功

image-20210520214033544

配置

若是在服务器上,大多数时候,我们的 Tomcat 不会和我们在本地一样运行完就关闭。

接下来,我们则来配置如何将Tomcat设置为服务并自启动。

设置服务

Linux系统中所有的服务都对应有一个脚本在 /etc/init.d/ 目录下,新建一个服务也即新建一个脚本在该目录下。

这里,我们新建 Tomcat的启动脚本。

vi /etc/init.d/tomcat9

将以下内容填写进入其中:

#!/bin/sh -e
#chkconfig:2345 61 61
####上行必须添加,才能使用chkconfig命令设为自启动,2345参数表示,在哪些运行级别启动,启动序号61;关闭序号61;两位数字即可

### BEGIN TOMCAT SERVICE
### END INIT INFO

### 这里是你的环境变量,Java 环境变量配置自己安装的JDK目录
### 详细可参照我前面的文章。
export JAVA_HOME=/usr/work/jdk1.8.0
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.
export CATALINA_HOME=/opt/opt/apache-tomcat-9.0.46

case "$1" in
start)
${CATALINA_HOME}/bin/startup.sh
exit 0
;;
stop)
${CATALINA_HOME}/bin/shutdown.sh
exit 0
;;
debug)
${CATALINA_HOME}/bin/shutdown.sh
${CATALINA_HOME}/bin/catalina.sh run
exit 0
;;
force-reload|restart)
${CATALINA_HOME}/bin/startup.sh
${CATALINA_HOME}/bin/shutdown.sh
exit 0
;;

*)
echo "Usage: /etc/init.d/tomcat9 {start|stop|restart|force-reload|debug}"
exit 1
;;
esac

exit 0

修改文件为可执行权限:

chmod o+x /etc/init.d/tomcat9

image-20210520220848411

执行服务并启动:

service tomcat9 start

image-20210520221139448

自启动

使用 chkconfig 命令添加为自启动:

chkconfig --add tomcat9

访问测试

系统内访问

若你安装的系统有GUI图形化界面,最简单且最方便的方式就是用默认浏览器访问 http://127.0.0.1:8080

若没有,可以使用 wget http://127.0.0.1:8080 ,若能获取到一个名为 index.html 的文件,则访问成功。

外部主机访问

如果你的系统安装在云服务器上,在本机电脑输入 http://服务ip地址:8080

这有可能会访问不到,确定你的服务器安全组中放行了8080 端口,再次访问即可。

参考链接

Linux tomcat作为服务开机自启动_Cloud-Future的博客