概述
简单来说,Apache Tomcat 是一个用于部署和提供Java Web应用的Web服务器和Servlet容器。
在这篇简短的文章中,我们将了解如何安装Tomcat,配置Tomcat Manager用户,并创建SSL证书以支持HTTPS内容的传输。
2. 在Windows上安装Tomcat
本节将指导您在Windows上安装并启动Tomcat服务器。
2.1. 下载与准备
首先,我们需要下载Tomcat。
我们选择下载适用于Windows的服务器版本作为zip文件:
接下来,我们将解压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欢迎界面:
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
输出应类似如下:
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-gui和admin-gui角色。
现在,我们重启服务器,再次打开URL*http://localhost:8080。这次点击Manager App*按钮,服务器会提示输入凭据。输入提供的凭据后,我们将看到以下界面:
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. 使用证书
现在我们可以将证书配置到