如何在 Ubuntu 20.04 上安装 Tomcat 10

Apache Tomcat 是一个开源 Web 服务器,带有用于发布基于 Java 的 Web 应用程序的 servlet 容器。 Tomcat 由开放的开发者社区在 Apache 软件基金会。 截至今天,Tomcat 10 是可在开发和生产环境中安装的最新稳定版本。 要了解更多关于 Apache Tomcat访问apache官网 https://tomcat.apache.org/.

本教程将帮助您了解如何安装 Apache Ubuntu 20.04 LTS Linux 系统上的 Tomcat 10。

先决条件

一个正在运行的 Ubuntu 20.04 系统,具有 root 或 sudo 特权帐户访问。

对于新安装的系统,建议完成初始服务器设置说明。

步骤 1 – 安装 Java

您的系统上必须安装了 JRE(Java 运行时环境)。 Tomcat 10 需要在您的系统上安装 JRE 8 或更高版本。 使用以下命令安装 OpenJDK 以满足要求。

sudo apt update  sudo apt install default-jdk -y  

检查当前活动的 Java 版本:

java -version   openjdk version "11.0.10" 2021-01-19 OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.04, mixed mode, sharing) 

步骤 2 – 创建 Tomcat 用户

我们建议使用专用用户帐户运行 Tomcat 服务器。 创建一个新用户,建议主要用于生产部署的安全目的。

要创建新帐户,请键入:

sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat  

上面的命令将创建一个名为“的用户和组”tomcat”在您的系统中。

第 3 步 – 安装 Tomcat 10

这 Apache Tomcat 开发团队不定期发布最新版本的 Tomcat。 因此,最好从以下位置检查下载最新的 Tomcat 版本 官方下载服务器. 使用以下命令下载Tomcat 10。

wget https://www-us.apache.org/dist/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gz  

下载完成后,解压缩下载的存档并将所有内容复制到 tomcat 主目录。

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

接下来,设置适当的文件权限。

sudo chown -R tomcat:tomcat /opt/tomcat/  sudo chmod -R u+x /opt/tomcat/bin  

现在,您的系统上已安装了最新的 Tomcat 应用程序。

第 4 步 – 创建 Tomcat 用户

现在,使用用户帐户配置您的 tomcat 以安全访问 admin/经理页面。 为此,请编辑 conf/tomcat-users.xml 在编辑器中创建文件并将以下代码粘贴到 标签中。 我们建议使用高安全密码在以下配置中更改密码。

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

添加以下值。 确保更改密码 admin 和经理访问。

<!-- user manager can access only manager section --> <role rolename="manager-gui" /> <user username="manager" password="_SECRET_PASSWORD_" roles="manager-gui" />  <!-- user admin can access manager and admin section both --> <role rolename="admin-gui" /> <user username="admin" password="_SECRET_PASSWORD_" roles="manager-gui,admin-gui" /> 

Save 文件和 close.

步骤 5 – 启用远程 Tomcat 访问

默认的 Tomcat 管理器和主机管理器应用程序只能由 localhost 访问。 要允许从远程系统访问这些页面,您需要修改以下配置文件。

您可以允许特定的远程系统或允许所有。 编辑 context.xml 管理器和主机管理器应用程序的文件:

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

注释掉为 IP 地址限制添加的部分,以允许来自任何地方的连接。

<Context antiResourceLocking="false" privileged="true" >   <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"                    sameSiteCookies="strict" />   <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"          allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" /> -->   ... </Context> 

同样编辑 context.xml 对于文本编辑器中的主机管理器应用程序:

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

注释掉同一部分以允许从任何地方进行连接。

<Context antiResourceLocking="false" privileged="true" >   <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"                    sameSiteCookies="strict" />   <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"          allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" /> -->   ... </Context> 

Save 所有文件和 close 它。

步骤 6 – 创建 Tomcat Systemd 单元文件

Tomcat 提供 bash 启动、停止服务的脚本。 但是,为了简单起见,创建一个启动脚本来管理 Tomcat 作为 systemd 服务。 让我们创建一个包含以下内容的 tomcat.service 文件:

sudo nano /etc/systemd/system/tomcat.service  
[Unit] Description=Tomcat After=network.target  [Service] Type=forking  User=tomcat Group=tomcat  Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"  ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh  [Install] WantedBy=multi-user.target 

重新加载 systemd 守护程序服务以加载新创建的文件。

sudo systemctl daemon-reload  

现在,第一次启动 Tomcat 应用程序。

sudo systemctl start tomcat.service  

接下来,启用 tomcat 服务以自动启动以进行后续系统引导。 这对于生产部署更为重要。

sudo systemctl enable tomcat.service  

到目前为止,tomcat 应用程序正在您的系统上运行。 您可以通过执行如下命令来验证服务状态。 确保状态显示“active (running)“。

sudo systemctl status tomcat.service  
● tomcat.service - Tomcat      Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled)      Active: active (running) since Wed 2021-03-17 10:56:39 IST; 3h 45min ago     Process: 481049 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)    Main PID: 481056 (java)       Tasks: 29 (limit: 4539)      Memory: 264.2M      CGroup: /system.slice/tomcat.service              └─481056 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file>  Mar 17 10:56:39 tecadmin-ubuntu2004 systemd[1]: Starting Tomcat... Mar 17 10:56:39 tecadmin-ubuntu2004 startup.sh[481049]: Tomcat started. Mar 17 10:56:39 tecadmin-ubuntu2004 systemd[1]: Started Tomcat. 

步骤 7 – 访问 Tomcat Web 界面

默认的 Tomcat 服务器在端口 8080 上运行。当您在系统上配置了 Tomcat 后,您可以从您的系统访问 Web 界面。 您可以通过输入服务器的 IP 地址或指向该服务器的域名,然后在浏览器中输入端口 8080 来访问 tomcat 接口:

改变 tecadmin.local 使用您的服务器 IP 或域或本地主机。

https://tecadmin.local:8080/ 

您将看到如下页面:

Tomcat Manager App 是与Tomcat 服务器应用程序一起打包的Web 应用程序。 Manager 界面为我们提供了管理部署的 Web 应用程序所需的基本功能。

点击 Manager App 按钮主页或直接键入 /manager 在主 Tomcat 服务器的浏览器 url 中访问它。

https://tecadmin.local:8080/manager/