如何在 Ubuntu 16.04 上安装和配置 Apache Tomcat 8.5
本教程适用于这些操作系统版本
- Ubuntu 14.04 LTS (Trusty Tahr)
在此页
- 第 1 步 - 安装 Java(JRE 和 JDK)
- 第 2 步 - 配置 Java 主环境
- 第 3 步 - 安装 Apache Tomcat 8.5
- 第 4 步 - 测试 Apache Tomcat
- 第 5 步 - 设置 Apache Tomcat 服务
- 第 6 步 - 配置 Apache Tomcat 用户
- 第 7 步 - 测试 Tomcat
- 链接
Apache Tomcat 是由 Apache 软件基金会开发的开源 Java Servlet 实现。除了 Java Servlet 的实现之外,Tomcat 还支持其他 Java 服务器技术,包括 JavaServer Pages (JSP)、Java Expression Language 和 Java WebSocket。 Tomcat 为支持 HTTP/2、JSSE 的 OpenSSL 和 TLS 虚拟主机的 Java 应用程序提供 HTTP Web 服务器。
在本教程中,我将向您展示如何在 Ubuntu 16.04 LTS (Yakkety Yak) 上安装和配置 Apache Tomcat 8.5,以及如何在 Ubuntu 服务器上安装和配置必备的 Java 8。
先决条件
- Ubuntu 16.04 - 64 位
- 2 GB 或更多内存(推荐)
- 根权限
第 1 步 - 安装 Java(JRE 和 JDK)
在此步骤中,我们将从 Ubuntu PPA 存储库安装 Java JRE 和 JDK。为此,我们必须首先安装一个新的 python-software-properties 包来管理存储库。
安装python软件属性:
sudo apt-get install python-software-properties -y
安装包后,添加新的 PPA java 存储库并运行 apt-get update。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
接下来,使用 apt 从 PPA 存储库安装 Java JRE 和 JDK:
sudo apt-get install oracle-java8-installer -y
这需要一些时间,等待安装完成。
使用以下命令检查 java 版本:
java -version
您可以在下面看到所需的结果:
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

第 2 步 - 配置 Java 主环境
在第一步中,我们安装了 Java。现在我们需要在Ubuntu服务器上配置JAVA_HOME环境变量,让Java应用程序能够找到Java安装目录。 Tomcat 需要一个 JAVA_HOME 环境才能正确设置。
在我们配置JAVA_HOME环境之前,我们需要知道Java目录在哪里。使用以下命令检查 Java 目录的位置:
sudo update-alternatives --config java
Java 目录=\/usr/lib/jvm/java-8-oracle/jre\
然后用vim编辑环境文件:
vim /etc/environment
通过添加以下配置行来添加 JAVA_HOME 环境:
JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"
保存文件并退出编辑器。
接下来,编辑 .bashrc 文件并添加行以导出 JAVA_HOME 环境变量:
vim ~/.bashrc
在文件末尾,粘贴以下配置:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
export PATH=$JAVA_HOME/bin:$PATH
保存并退出,然后重新加载 .bashrc 文件。
source ~/.bashrc
确保没有报错,查看JAVA_HOME环境:
echo $JAVA_HOME
您将看到 java 目录路径。

第 3 步 - 安装 Apache Tomcat 8.5
在此步骤中,我们将在用户 tomcat 下安装 Apache Tomcat。
创建名为 tomcat 的用户和组:
groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
注意:
-s /bin/false=禁用 shell 访问。
-g tomcat=将新用户分配给 tomcat 组。
-d /opt/tomcat=为用户定义主目录。
接下来进入/opt目录,使用wget命令下载tomcat:
cd /opt/
wget http://mirror.wanxp.id/apache/tomcat/tomcat-8/v8.5.6/bin/apache-tomcat-8.5.6.tar.gz
提取 Tomcat 存档并将目录重命名为 tomcat。
tar -xzvf apache-tomcat-8.5.6.tar.gz
mv apache-tomcat-8.5.6 tomcat
将tomcat目录的属主更改为tomcat用户,并使bin目录下所有文件可执行。
chown -hR tomcat:tomcat tomcat
chmod +x /opt/tomcat/bin/*
接下来,我们需要定义 CATALINA_HOME 目录,以便我们可以使用 Apache Tomcat 运行测试。 Catalina 是 Tomcat servlet 容器。
使用 vim 编辑 .bashrc 文件:
vim ~/.bashrc
将下面的配置行粘贴到该行的末尾:
export CATALINA_HOME=/opt/tomcat
保存并退出,然后重新加载 .bashrc。
source ~/.bashrc
检查 CATALINA_HOME 环境。
echo $CATALINA_HOME

第 4 步 - 测试 Apache Tomcat
在第 3 步中,我们配置了基本的 Tomcat 设置,在这一步中,我们将进行一些测试并确保我们的配置没有错误。
运行以下命令来测试 Apache Tomcat:
$CATALINA_HOME/bin/startup.sh
Make sure the results is Tomcat started 验证Tomcat安装成功。
Tomcat 正在使用 8080 端口,使用 netstat 命令检查服务器上的开放端口。
netstat -plntu

或者您可以使用 8080 端口访问服务器 IP 地址 - 在我的例子中是 http://192.168.1.100:8080 使用网络浏览器。您将看到 Apache Tomcat 默认页面。

接下来,停止 Apache Tomcat,因为我们现在将使用服务文件运行 Tomcat。确保 tomcat 目录在 tomcat 用户下。
$CATALINA_HOME/bin/shutdown.sh
chown -hR tomcat:tomcat /opt/tomcat/

第 5 步 - 设置 Apache Tomcat 服务
在本教程中,我们希望使用 systemd 服务文件以 tomcat 用户身份运行 Apache Tomcat,以便轻松启动和停止它。现在我们需要创建 tomcat.service 文件。
转到systemd系统目录并创建一个新文件tomcat.service。
cd /etc/systemd/system/
vim tomcat.service
下面粘贴配置:
[Unit]
Description=Apache Tomcat 8 Servlet Container
After=syslog.target network.target
[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存文件并退出编辑器。
重新加载 systemd 守护进程,然后启动 Tomcat 服务并添加 Apache Tomcat 服务以在引导时启动。
systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat
通过检查打开的端口来检查 tomcat 是否正在运行。
netstat -plntu
并检查 tomcat 状态,确保服务处于活动状态。
systemctl status tomcat

第 6 步 - 配置 Apache Tomcat 用户
在此步骤中,我们将为 Apache Tomcat 配置用户。 Tomcat 已安装,默认运行在 8080 端口,我们可以从 Web 浏览器访问它,但到目前为止我们无法访问站点管理器仪表板。这就是此步骤的目的,要启用和配置 Tomcat 用户,请编辑文件 tomcat-users.xml。
转到 tomcat 配置目录并使用 vim 编辑 tomcat-users.xml。
cd /opt/tomcat/conf/
vim tomcat-users.xml
在第 43 行下新建一行并粘贴下面的配置:
<role rolename="manager-gui"/>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
保存并退出。
接下来,转到管理器目录并编辑 context.xml 文件。
cd /opt/tomcat/webapps/manager/META-INF/
vim context.xml
评论第 19 和 20 行。
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
</Context>
保存并退出。
并转到主机管理器目录并再次编辑上下文文件。
cd /opt/tomcat/webapps/host-manager/META-INF/
vim context.xml
注释掉第 19 和 20 行。
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
</Context>
保存退出,然后重启tomcat。
systemctl restart tomcat
第 7 步 - 测试 Tomcat
打开您的 Web 浏览器并使用端口 8080 输入您的服务器 IP。您将看到 Apache Tomcat 主目录。

使用以下 URL 转到经理仪表板:
输入管理员用户名 admin 和密码 mypassword,这是第 5 步中的配置。

现在使用以下 URL 转到主机管理器仪表板:
输入第 5 步中的管理员用户和密码,您将看到 Tomcat 虚拟主机管理器。

Apache Tomcat 8.5 已在 Ubuntu 16.04 上安装并测试。
链接
- http://tomcat.apache.org/