概述

简单来说,Apache Tomcat 是一个用于部署和提供Java Web应用的Web服务器和Servlet容器

在这篇简短的文章中,我们将了解如何安装Tomcat,配置Tomcat Manager用户,并创建SSL证书以支持HTTPS内容的传输。

2. 在Windows上安装Tomcat

本节将指导您在Windows上安装并启动Tomcat服务器。

2.1. 下载与准备

首先,我们需要下载Tomcat

我们选择下载适用于Windows的服务器版本作为zip文件:

Tomcat安装

接下来,我们将解压Tomcat到指定目录。

2.3. 安装

在Windows上,需要进行快速的附加安装。打开Windows终端,进入Tomcat安装的bin目录:

C:\Java\Apache Tomcat 9.0.70\bin>

然后,我们安装服务:

C:\Java\Apache Tomcat 9.0.70\bin>service install

输出结果应该类似如下:

Installing the service 'Tomcat9' ...
Using CATALINA_HOME:    "C:\Java\Apache Tomcat 9.0.70"
Using CATALINA_BASE:    "C:\Java\Apache Tomcat 9.0.70"
Using JAVA_HOME:        "C:\Java\jdk1.8.0_40"
Using JRE_HOME:         "C:\Java\jre1.8.0_40"
Using JVM:              "C:\Java\jre1.8.0_40\bin\client\jvm.dll"
The service 'Tomcat9' has been installed.

2.4. 启动Tomcat服务

运行命令启动服务:

C:\Java\Apache Tomcat 9.0.70\bin>sc start Tomcat9

我们应看到以下输出:

SERVICE_NAME: Tomcat9
        TYPE               : 10  WIN32_OWN_PROCESS
        STATUS             : 2  START_PENDING
                                (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_OUTPUT_CODE  : 0  (0x0)
        SERVICE_OUTPUT_CODE: 0  (0x0)
        CHECK-POINT        : 0x0
        START-INDICATOR    : 0x7d0
        PID                : 5552
        MARKS              :

在浏览器中打开URL*http://localhost:8080*,我们应该能看到Tomcat欢迎界面:

TomcatWelcome

3. 在Linux(基于Debian)上安装Tomcat

这里我们将安装Ubuntu Linux 16.06上的Tomcat,但此过程同样适用于其他基于Debian的Linux发行版。

3.1. 下载与解压缩

首先,下载并解压缩Tomcat:

$ sudo mkdir /opt/tomcat
$ sudo tar xvf apache-tomcat-9.0.70.tar.gz -C /opt/tomcat --strip-components=1

3.2. 确保已安装Java

确保我们已经安装了Java,并且系统可用:

$ java -version

输出应类似如下:

Java版本

3.3. 创建用户和组

我们将使用单独的用户和组来运行服务器。首先,创建一个用户组:

$ sudo groupadd tomcat

接着,创建一个Tomcat用户,避免使用root用户:

$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

还需更新服务器权限,以便新用户和组使用:

$ cd /opt/tomcat
$ sudo chgrp -R tomcat conf
$ sudo chmod g+rwx conf
$ sudo chmod g+r conf/*
$ sudo chown -R tomcat work/ temp/ logs/

最后,创建一个简单的Upstart脚本来确保Tomcat在启动时自动运行:

$ vi /etc/init/tomcat.conf

tomcat.conf脚本由操作系统用于在启动时启动Tomcat服务。

这个脚本用于在需要时启动和停止服务:

description "Tomcat Server"
    start on runlevel [2345]
    stop on runlevel [!2345]
    setuid tomcat
    setgid tomcat
    env JAVA_HOME=/opt/jdk1.8.0_77/jre/
    env CATALINA_HOME=/opt/tomcat
    exec $CATALINA_HOME/bin/catalina.sh run

3.4. 启动与停止

前往tomcat/bin目录并执行start命令:

$ ./catalina.sh start

我们会看到类似以下的输出:

Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.
root@linux:/opt/tomcat/bin#

同样,我们可以使用以下命令启动服务器:

$ ./startup.sh

现在是时候测试我们的服务器了。在浏览器中打开URL*http://localhost:8080*。

我们可以通过使用stop命令来关闭正在运行的服务器:

$ ./catalina.sh stop

当服务器停止时,终端将显示如下输出:

Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED ...

此外,还可以使用shutdown命令停止服务器:

$ ./shutdown.sh

3.5. 使用Linux仓库安装Tomcat

另一种安装方式是使用官方Linux仓库。执行以下命令进行安装:

$ sudo apt update
$ sudo apt install tomcat9

安装完成后,启动服务器:

$ sudo service tomcat9 start

也可以使用以下命令停止和重启服务器:

$ sudo service tomcat9 stop
$ sudo service tomcat9 restart

4. Tomcat Manager

为了访问Tomcat Manager,我们需要创建一个具有相应权限的用户

在Windows上:

C:\Java\Apache Tomcat 9.0.70\conf\tomcat-users.xml

在Linux上:

/opt/tomcat/conf/tomcat-users.xml

在这个文件中,我们将定义可以访问Tomcat Manager的用户。

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
  version="1.0">
    <user username="admin" password="admin" roles="manager-gui,admin-gui"/>
</tomcat-users>

<user>标签中,我们定义了一个名为admin的用户,密码为admin,拥有manager-guiadmin-gui角色。

现在,我们重启服务器,再次打开URL*http://localhost:8080。这次点击Manager App*按钮,服务器会提示输入凭据。输入提供的凭据后,我们将看到以下界面:

Tomcat Manager

5. SSL证书

我们可以使用*keytool*在命令行生成证书

在Windows上:

keytool -genkey -alias tomcat -keyalg RSA -keystore C:\Java\apache-tomcat-9.0.70\keystore\tomcat

在Linux上:

$ keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/tomcat/keystore/tomcat

工具会询问一些问题以填充证书信息。证书将保存在名为tomcat的文件夹中。

让我们学习如何使用keytool命令检查证书存储中的证书。

在Windows上:

keytool -list -keystore C:\Java\apache-tomcat-9.0.70\keystore\tomcat

在Linux上:

$ keytool -list -keystore /opt/tomcat/keystore/tomcat

5.1. 使用证书

现在我们可以将证书配置到


« 上一篇: Spring性能日志记录
» 下一篇: Thymeleaf 中日期使用