网站搜索

如何在 Debian 10 上安装 Apache Tomcat 9


Apache Tomcat 是一款免费、成熟、强大且流行的 Web 应用程序服务器软件,用于为基于 Java 的应用程序提供服务。它是 Java Servlet、JavaServer Pages (JSP)、Java 表达式语言和 Java WebSocket 技术的开源实现,由 Apache Software Foundation (ASF) 开发。

另请阅读:如何在 Ubuntu 中安装 Apache Tomcat

本教程将引导您完成在 Debian 10 Linux 服务器上安装和配置最新版本 Tomcat 9 的过程。

在开始学习本教程之前,请确保您的服务器上有一个具有 sudo 权限的非 root 用户帐户。如果没有,您可以使用我们的如何在 Ubuntu/Debian 上创建新的 Sudo 用户指南来设置一个。

第 1 步:在 Debian 10 上安装 Java

要在 Debian 10 服务器上安装最新版本的 Tomcat 9,您必须在服务器上安装 Java,以便可以执行 Java web应用程序代码。

首先,使用apt命令更新系统软件包索引,如图所示。

sudo apt update

然后使用 apt 命令安装 Java Development Kit 包。

sudo apt install default-jdk

Java 安装完成后,使用以下命令检查系统上安装的 Java 版本。

java -version

步骤2:在Debian 10中安装Tomcat

出于安全目的,Tomcat 应由非特权用户(即非 root)安装和执行。我们将创建一个新的tomcat组和用户来在/opt/tomcat目录下运行Tomcat服务(Tomcat安装)。

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

一旦我们设置了tomcat用户,现在从Tomcat 9下载页面下载最新版本的Tomcat 9(即9.0.30)或使用使用以下curl命令行工具下载tarball并将存档解压到/opt/tomcat目录。

curl -O http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

接下来,为tomcat用户分配访问Tomcat安装/opt/tomcat目录的权限。

cd /opt/tomcat
sudo chgrp -R tomcat /opt/tomcat
sudo chmod -R g+r conf
sudo chmod g+x conf
sudo chown -R tomcat webapps/ work/ temp/ logs/

步骤3:创建Tomcat systemd服务文件

我们将创建一个新的 systemd 服务文件来管理和运行 Tomcat 作为 systemd 下的服务。要创建服务文件,您应该知道 Java 的安装位置,因为使用以下命令称为 JAVA_HOME

sudo update-java-alternatives -l

从上面的输出来看,我们的 JAVA_HOME 是:

/usr/lib/jvm/java-1.11.0-openjdk-amd64

一旦我们知道了 JAVA_HOME,我们就可以在 /etc/systemd/system< 目录中创建名为 tomcat.servicesystemd 服务文件。 目录运行。

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

将以下内容粘贴到您的 tomcat.service 文件中。

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
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 以应用新的更改,以便它了解我们的 tomcat.service 文件。

sudo systemctl daemon-reload

最后,您可以通过运行以下命令来启动并验证 Tomcat 服务的状态。

sudo systemctl start tomcat
systemctl status tomcat
systemctl enable tomcat

步骤 4:启用 Tomcat Manager 和 Host Manager 登录

为了访问 Tomcat 附带的 manager-guiadmin-gui Web 应用程序,我们必须启用对 Tomcat 的登录 服务器,方法是编辑 tomcat-users.xml 文件,如图所示。

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

标记中添加以下配置,并使用正确的用户名和密码,如图所示。

<role rolename="admin-gui,manager-gui"/> 
<user username="admin" password="password" roles="admin-gui,manager-gui"/>

上述配置意味着将 admin-guimanager-gui 角色添加到名为“admin”、密码为“ >howtoing123”。

第5步:启用远程登录Tomcat管理器和主机管理器

出于安全原因,默认情况下,对 Tomcat ManagerHost Manager 应用程序的访问被锁定到本地主机(部署该应用程序的服务器)。

但是,您可以启用从特定 IP 地址或任何主机或网络对 Tomcat ManagerHost Manager 应用程序的远程访问,如下所述。

对于 Tomcat 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 地址限制以允许从任何网络进行访问。

<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>

或者,通过将 IP 地址添加到列表来启用从您自己的 IP 地址 192.168.0.103 或网络 (192.168.0.0) 的远程访问。

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.103" />-->
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />-->

保存文件,然后重新启动 Tomcat 服务以使更改生效。

sudo systemctl restart tomcat

第6步:访问Tomcat Web界面

要从任何浏览器访问 Tomcat Web 界面,您需要打开 8080 端口,以允许通过键入内容传输到防火墙上的 Tomcat 服务的流量。

sudo ufw allow 8080

现在,通过在浏览器中输入服务器的域名或 IP 地址,然后输入端口 8080 来访问 Tomcat Web 管理界面。

http://server_domain_or_IP:8080

让我们通过以下 URL 访问管理器应用程序,您需要输入帐户凭据。

http://server_domain_or_IP:8080/manager/html

让我们通过以下 URL 访问主机管理器,您需要输入帐户凭据。

http://server_domain_or_IP:8080/host-manager/html/

就这样!您的 Tomcat 安装已完成,现在您可以部署和运行 Java Web 应用程序。如果您有任何问题或想法要分享,请通过下面的评论表与我们联系。