如何在Ubuntu 20.04上安装Tomcat 10

Apache Tomcat是带有servlet容器的开源Web服务器,用于发布基于Java的Web应用程序。 Tomcat是在Apache Software Foundation的主持下由开放的开发人员社区开发和维护的。 到目前为止,Tomcat 10是可在开发和生产环境上安装的最新稳定版本。 要了解有关Apache Tomcat的更多信息,请访问apache官方网站http://tomcat.apache.org/。

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

先决条件

运行中的Ubuntu 20.04系统,具有root用户或sudo特权帐户访问权限的shell访问权限。

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

步骤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.4/bin/apache-tomcat-10.0.4.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用户

现在,使用用户帐户配置雄猫,以确保对管理员/经理页面的访问。 为此,请编辑 conf / tomcat-users.xml 文件添加到编辑器中,然后将以下代码粘贴到 标记内。 我们建议在以下配置中使用高安全性密码更改密码。

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

添加以下值。 确保更改用于管理员和管理员访问的密码。

<!-- 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" />

保存文件并关闭。

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

保存所有文件并关闭它。

步骤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地址或指向该服务器的域名来访问tomcat接口,然后在浏览器中输入端口8080:

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

http://tecadmin.local:8080/

您将看到如下页面:

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

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

http://tecadmin.local:8080/manager/

Tomcat 10管理器仪表板

Tomcat Host Manager App是与Tomcat服务器应用程序打包在一起的另一个Web应用程序。 用于在Tomcat服务中创建/删除虚拟主机。 虚拟主机允许您在单个服务器上定义多个主机名。

点击 Host Manager 按钮主页或直接键入 /host-manager Tomcat主服务器中的URL可以访问它。

http://tecadmin.local:8080/host-manager/

Tomcat 10主机管理器页面

结论

您在Ubuntu系统上有一个正在运行的Tomcat服务器。 您可能需要在Tomcat中创建虚拟主机或配置SSL证书。

Sidebar