在Ubuntu 20.04上安装Apache Tomcat 9

阿帕奇雄猫 是基于Java的开源HTTP Web服务器,它实现了Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket技术。在本教程中,您将学习如何在Ubuntu 20.04上安装Apache Tomcat 9。

在Ubuntu 20.04上安装Apache Tomcat 9

运行系统更新

确保系统软件包缓存是最新的;

apt update

在Ubuntu 20.04上安装OpenJDK 14

Apache Tomcat 9需要Java标准版运行时环境(JRE)版本8或更高版本。因此,请按照以下步骤安装OpenJRE。

apt install openjdk-14-jre

安装完成后,您可以运行以下命令来验证版本。

java -version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+7-Ubuntu-1ubuntu1)
OpenJDK 64-Bit Server VM (build 14.0.1+7-Ubuntu-1ubuntu1, mixed mode, sharing)

下载Apache Tomcat二进制发行版

导航 Apache Tomcat 9下载页面 并获取Apache Tomcat 9二进制分发压缩包。撰写本文时,Apache Tomcat 9.0.36是当前的稳定版本。

wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.36/bin/apache-tomcat-9.0.36.tar.gz

在Ubuntu 20.04上安装Apache Tomcat 9

二进制发行版的下载完成后,使用二进制发行版安装Apache Tomcat就像将其提取到某个特定目录一样容易,在这种情况下,我们使用 /opt/tomcat9 目录。

mkdir /opt/tomcat9
tar xzf apache-tomcat-9.0.36.tar.gz -C /opt/tomcat9 --strip-components=1

上面的命令将apache-tomcat-9.0.36.tar.gz tarball的内容提取到安装目录, /opt/tomcat9

ls /opt/tomcat9/
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work

设置Apache Tomcat 9环境变量

Tomcat启动脚本使用各种环境变量来准备运行Tomcat守护程序的命令。

CATALINA_HOME 环境变量指向Tomcat安装的基本路径,在这种情况下, /opt/tomcat9

echo 'export CATALINA_HOME="/opt/tomcat9"' > /etc/profile.d/tomcat9.sh

取决于安装的Java软件包,设置 JRE_HOME (如果您安装了JRE)或 JAVA_HOME (如果已安装JDK)已安装的Java版本的环境变量。由于我们安装了JRE,因此请按照以下步骤创建JRE_HOME环境。

使用以下命令找到已安装的Java版本的路径 update-java-alternatives 命令。

update-java-alternatives -l
java-1.14.0-openjdk-amd64      1411       /usr/lib/jvm/java-1.14.0-openjdk-amd64

有了路径后,创建环境变量。

echo 'export JRE_HOME="/usr/lib/jvm/java-1.14.0-openjdk-amd64"' >> /etc/profile.d/tomcat9.sh

重新加载上面设置的环境变量。

source /etc/profile.d/tomcat9.sh

创建Tomcat系统用户

与其他任何Web服务器一样,Apache Tomcat不应与特权用户一起运行。因此,如下创建Apache Tomcat的系统用户;

useradd -r -d /opt/tomcat9/ -s /bin/false tomcat

接下来,您需要将Tomcat 9目录的用户和组所有权设置为 tomcat 用户。

chown -R tomcat: /opt/tomcat9/

分配 tomcat Tomcat 9配置文件目录上的读取和执行权限。

chmod -R u+x,g+rx /opt/tomcat9/

配置Tomcat Web管理帐户

创建Tomcat Web管理用户

为Tomcat 9 Admin / Manager用户界面的Web管理定义用户。

这可以通过编辑 /opt/tomcat9/conf/tomcat-users.xml 文件,并在以下之间添加以下突出显示的行: 标签。

vim /opt/tomcat9/conf/tomcat-users.xml

  
  
  
  
-->
  
  
  

相应地替换密码和用户名。

配置Tomcat以允许远程连接Manager和Host Manager应用程序。

分别编辑下面的Manager和Host Manager的配置文件,并输入访问Tomcat的远程服务器的IP地址。 IP由管道分隔, |

在这种情况下, 192.168.56.1,是允许从其中访问Tomcat的服务器的IP地址。

vim /opt/tomcat9/webapps/manager/META-INF/context.xml
...

  
...
vim /opt/tomcat9/webapps/host-manager/META-INF/context.xml
...

  
...

进行更改后,保存并退出配置文件。

允许Tomcat通过防火墙

要允许外部访问Tomcat,您需要在UFW上打开TCP端口8080(如果正在运行);

ufw allow 8080/tcp

在Ubuntu 20.04上运行Tomcat 9

要以独立模式运行Apache Tomcat,请执行 /opt/tomcat9/bin/startup.sh。脚本。

/opt/tomcat9/bin/startup.sh
Using CATALINA_BASE:   /opt/tomcat9
Using CATALINA_HOME:   /opt/tomcat9
Using CATALINA_TMPDIR: /opt/tomcat9/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.14.0-openjdk-amd64
Using CLASSPATH:       /opt/tomcat9/bin/bootstrap.jar:/opt/tomcat9/bin/tomcat-juli.jar
Tomcat started.

访问Tomcat 9 Web界面

现在,您可以使用以下地址从浏览器访问Apache Tomcat9, http://server-hostname-or-ip:8080

请点击 经理应用 访问Tomcat Web应用程序管理器。当提示您输入凭据时,请使用上面设置的凭据;

在Ubuntu 20.04上安装Apache Tomcat 9

请点击 房东经理,以访问Tomcat虚拟主机管理器。

在Ubuntu 20.04上安装Apache Tomcat 9

将Apache Tomcat 9作为服务运行

为了能够将Apache Tomcat9作为服务运行并确保它在系统重新引导时运行,您需要按以下方式创建一个systemd服务单元文件。

vim /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Server
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=CATALINA_PID=/opt/tomcat9/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat9
Environment=CATALINA_BASE=/opt/tomcat9

ExecStart=/opt/tomcat9/bin/catalina.sh start
ExecStop=/opt/tomcat9/bin/catalina.sh stop

RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

根据您的安装相应地替换路径。保存并退出文件。

重新加载系统配置

systemctl daemon-reload

停止使用上述脚本启动的初始Tomcat9, /opt/tomcat9/bin/startup.sh

启动并启用Tomca9 systemd服务;

systemctl enable --now tomcat

检查状态;

systemctl status tomcat
● tomcat.service - Apache Tomcat Server
     Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-06-19 21:26:19 UTC; 2s ago
    Process: 6834 ExecStart=/opt/tomcat9/bin/catalina.sh start (code=exited, status=0/SUCCESS)
   Main PID: 6855 (java)
      Tasks: 37 (limit: 2282)
     Memory: 88.3M
     CGroup: /system.slice/tomcat.service
             └─6855 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -D>

Jun 19 21:26:19 ubuntu20 systemd[1]: Starting Apache Tomcat Server...
Jun 19 21:26:19 ubuntu20 catalina.sh[6834]: Tomcat started.
Jun 19 21:26:19 ubuntu20 systemd[1]: Started Apache Tomcat Server.

这标志着我们指南的结尾,说明了如何在Ubuntu 20.04上安装Apache Tomcat 9。

参考

Apache Tomcat 9.0文档-RUNNING.txt

Sidebar