在Ubuntu 16.04上安装Apache Tomcat 8的方法

本文涉及的产品
云防火墙,500元 1000GB
简介: 在Ubuntu 16.04上安装Apache Tomcat 8的方法

简介

Apache Tomcat 是一个用于提供 Java 应用程序的 Web 服务器和 Servlet 容器。Tomcat 是由 Apache 软件基金会发布的 Java Servlet 和 JavaServer Pages 技术的开源实现。本教程涵盖了在 Ubuntu 16.04 服务器上安装和配置最新版本的 Tomcat 8 的基本步骤。

先决条件

在开始本指南之前,您应该在服务器上设置一个具有 sudo 权限的非根用户。您可以通过完成我们的 Ubuntu 16.04 初始服务器设置指南来了解如何操作。

步骤 1:安装 Java

Tomcat 需要在服务器上安装 Java,以便执行任何 Java Web 应用程序代码。我们可以通过使用 apt-get 安装 OpenJDK 来满足这一要求。

首先,更新您的 apt-get 软件包索引:

sudo apt-get update

然后使用 apt-get 安装 Java 开发工具包:

sudo apt-get install default-jdk

现在 Java 已安装完成,我们可以创建一个 tomcat 用户,该用户将用于运行 Tomcat 服务。

步骤 2:创建 Tomcat 用户

出于安全考虑,Tomcat 应该作为一个非特权用户(即非 root 用户)来运行。我们将创建一个新的用户和组来运行 Tomcat 服务。

首先,创建一个新的 tomcat 组:

sudo groupadd tomcat

接下来,创建一个新的 tomcat 用户。我们将使该用户成为 tomcat 组的成员,其主目录为 /opt/tomcat(我们将在其中安装 Tomcat),并且其 shell 为 /bin/false(这样就无法登录到该帐户):

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

现在我们已经设置好了 tomcat 用户,让我们下载并安装 Tomcat。

步骤 3:安装 Tomcat

安装 Tomcat 8 的最佳方式是下载最新的二进制版本,然后手动配置它。

在 Tomcat 8 下载页面上找到最新版本的 Tomcat 8。在撰写本文时,最新版本是 8.5.5,但如果有更稳定的版本可用,您应该使用更晚的稳定版本。在 Binary Distributions 部分下的 Core 列表中,复制 “tar.gz” 的链接。

接下来,切换到服务器上的 /tmp 目录。这是一个很好的目录,用于下载临时项目,比如 Tomcat 压缩包,在提取 Tomcat 内容后我们将不再需要它:

cd /tmp

使用 curl 下载您从 Tomcat 网站复制的链接:

curl -O http://apache.mirrors.ionfish.org/tomcat/tomcat-8/v8.5.5/bin/apache-tomcat-8.5.5.tar.gz

我们将安装 Tomcat 到 /opt/tomcat 目录。使用以下命令创建该目录,然后将存档解压到其中:

sudo mkdir /opt/tomcat
sudo tar xzvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1

接下来,我们可以为我们的安装设置适当的用户权限。

步骤 4:更新权限

我们设置的 tomcat 用户需要访问 Tomcat 安装。我们现在将进行设置。

切换到我们解压 Tomcat 安装的目录:

cd /opt/tomcat

将整个安装目录的所有权交给 tomcat 组:

sudo chgrp -R tomcat /opt/tomcat

接下来,给 tomcat 组对 conf 目录及其所有内容的读取权限,并对目录本身给予 执行 权限:

sudo chmod -R g+r conf
sudo chmod g+x conf

tomcat 用户设置为 webappsworktemplogs 目录的所有者:

sudo chown -R tomcat webapps/ work/ temp/ logs/

现在适当的权限已设置好,我们可以创建一个 systemd 服务文件来管理 Tomcat 进程。

步骤 5:创建 systemd 服务文件

我们希望能够将 Tomcat 作为一个服务来运行,因此我们将设置 systemd 服务文件。

Tomcat 需要知道 Java 的安装位置。这个路径通常被称为 “JAVA_HOME”。查找该位置的最简单方法是运行以下命令:

sudo update-java-alternatives -l
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64

可以通过获取最后一列的输出(用红色标记)并在末尾添加 /jre 来构造正确的 JAVA_HOME 变量。给定上面的示例,该服务器的正确 JAVA_HOME 将是:

[secondary_label JAVA_HOME]
/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre

您的 JAVA_HOME 可能不同。

有了这些信息,我们可以创建 systemd 服务文件。通过输入以下命令,在 /etc/systemd/system 目录中打开一个名为 tomcat.service 的文件:

sudo nano /etc/systemd/system/tomcat.service

将以下内容粘贴到您的服务文件中。如果需要,修改 JAVA_HOME 的值以匹配您在系统上找到的值。您可能还想修改 CATALINA_OPTS 中指定的内存分配设置:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

完成后,保存并关闭文件。

接下来,重新加载 systemd 守护程序,以便它知道我们的服务文件:

sudo systemctl daemon-reload

通过输入以下命令启动 Tomcat 服务:

sudo systemctl start tomcat

通过输入以下命令,双重检查它是否没有错误地启动:

sudo systemctl status tomcat

步骤 6:调整防火墙并测试 Tomcat 服务器

现在 Tomcat 服务已经启动,我们可以测试确保默认页面可用。

在进行测试之前,我们需要调整防火墙以允许我们的请求到达服务。如果您遵循了先决条件,您将当前已经启用了 ufw 防火墙。

Tomcat 使用端口 8080 来接受常规请求。通过输入以下命令允许流量通过该端口:

sudo ufw allow 8080

防火墙修改后,您可以在 Web 浏览器中输入您的域名或 IP 地址,后面加上 :8080 来访问默认的欢迎页面:

[secondary_label 在 Web 浏览器中打开]
http://server_domain_or_IP:8080

您将看到默认的 Tomcat 欢迎页面,以及其他信息。但是,如果您点击管理应用程序的链接,例如 Manager App,您将被拒绝访问。我们可以在下一步配置该访问权限。

如果您成功访问了 Tomcat,现在是启用服务文件的好时机,这样 Tomcat 将在启动时自动启动:

sudo systemctl enable tomcat

步骤 7:配置 Tomcat Web 管理界面

为了使用 Tomcat 自带的管理 Web 应用程序,我们必须在我们的 Tomcat 服务器上添加一个登录。我们将通过编辑 tomcat-users.xml 文件来实现这一点:

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

您需要添加一个可以访问 manager-guiadmin-gui(Tomcat 自带的 Web 应用程序)的用户。您可以在 tomcat-users 标签之间定义一个用户,类似下面的示例,确保将用户名和密码更改为安全的内容:

<tomcat-users . . .>
    <user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>

完成后保存并关闭文件。

默认情况下,较新版本的 Tomcat 限制对 Manager 和 Host Manager 应用程序的访问仅限于来自服务器本身的连接。由于我们正在远程安装,您可能希望删除或更改此限制。要更改这些应用程序的 IP 地址限制,打开相应的 context.xml 文件。

对于 Manager 应用程序,输入:

sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml

对于 Host Manager 应用程序,输入:

sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

在内部,注释掉 IP 地址限制以允许来自任何地方的连接。或者,如果您只想允许来自您自己 IP 地址的连接,您可以将您的公共 IP 地址添加到列表中:

<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 服务:

sudo systemctl restart tomcat

步骤 8:访问 Web 界面

现在我们已经创建了一个用户,我们可以再次在 Web 浏览器中访问 Web 管理界面。同样,您可以在浏览器中输入您服务器的域名或 IP 地址,后面加上端口 8080 来访问正确的界面:

[secondary_label 在 Web 浏览器中打开]
http://server_domain_or_IP:8080

您看到的页面应该与您之前测试时看到的页面相同:

!Tomcat root

让我们来看看 Manager App,通过链接或 http://server_domain_or_IP:8080/manager/html 可以访问。您需要输入添加到 tomcat-users.xml 文件中的帐户凭据。之后,您应该会看到一个类似于这样的页面:

!Tomcat Web Application Manager

Web 应用程序管理器用于管理您的 Java 应用程序。您可以在这里启动、停止、重新加载、部署和取消部署。您还可以对应用程序运行一些诊断(例如查找内存泄漏)。最后,关于您的服务器的信息可以在此页面的底部找到。

现在让我们来看看 Host Manager,通过链接或 http://server_domain_or_IP:8080/host-manager/html/ 可以访问:

!Tomcat Virtual Host Manager

从虚拟主机管理器页面,您可以添加虚拟主机以提供您的应用程序。

结论

您已经完成了Tomcat的安装!现在您可以自由地部署自己的Java Web应用程序了!

目前,您的Tomcat安装是可用的,但完全未加密。这意味着所有数据,包括密码等敏感信息,都是以纯文本形式发送的,可以被互联网上的其他方拦截和阅读。为了防止这种情况发生,强烈建议您使用SSL加密您的连接。您可以按照本指南了解如何加密与Tomcat的连接。


目录
相关文章
|
4月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
288 41
|
4月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
380 17
|
5月前
|
Oracle Java 关系型数据库
Tomcat和JDK的详细安装、下载和环境配置指南
以上就是JDK和Tomcat的下载、安装和环境配置的详细步骤。希望这个指南能帮助你顺利完成设置。
351 32
|
4月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
315 11
|
5月前
|
Ubuntu PHP
Ubuntu下使用apt为Apache2编译PHP7.1
以上就是在Ubuntu系统下,使用apt为Apache2编译PHP7.1的过程。希望这个过程对你有所帮助,如果你在执行过程中遇到任何问题,都可以在网上找到相关的解决方案。
96 25
|
5月前
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
128 28
|
5月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
580 12
|
8月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
8月前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
293 7
|
9月前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
669 33
The Past, Present and Future of Apache Flink