如何在Debian 10 / Debian 9上安装Apache Tomcat

Apache Tomcat是一个开放源代码的Web服务器,用于运行由Apache Software Foundation(ASF)开发的Java Web应用程序。

Tomcat包含Java Servlet,JavaServer Pages(JSP),Java EL和WebSocket技术,并提供了用于运行Java代码的“纯Java” HTTP Web服务器环境。

在这里,我们将看到如何在Debian 10 / Debian 9上安装Apache Tomcat。

需求

Tomcat要求在计算机上安装Java JDK 8或更高版本。 您可以安装Oracle JDK或OpenJDK。

读:
如何在Debian 10 / Debian 9上安装Oracle JDK

对于此演示,我将使用OpenJDK。

sudo apt update

sudo apt install -y default-jdk

安装Java后,您可以使用以下命令来验证Java版本。

java -version
Output:

openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment (build 11.0.6+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Debian-1deb10u1, mixed mode, sharing)

安装Apache Tomcat

Tomcat服务帐户

为了最佳实践,Tomcat绝对不能以特权用户(root)身份运行。 因此,创建一个低特权用户tomcat来运行Tomcat服务。

sudo groupadd tomcat

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

下载Apache Tomcat

从官方网站下载最新版本的Apache Tomcat。

Apache Tomcat 9.x

wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz

Apache Tomcat 8.x

wget https://downloads.apache.org/tomcat/tomcat-8/v8.5.54/bin/apache-tomcat-8.5.54.tar.gz

为Tomcat创建目录。

sudo mkdir /opt/tomcat

解压缩Tomcat tar软件包并将其移动到/ opt / tomcat目录。

tar -zxvf apache-tomcat-*.tar.gz

sudo mv apache-tomcat-*/* /opt/tomcat/

将目录的所有权更改为tomcat用户,以便应用程序可以向其中写入文件。

sudo chown -R tomcat:tomcat /opt/tomcat/

启动Apache Tomcat

我们将配置systemd以启动Tomcat服务。 创建一个tomcat systemd服务文件。

绿色的取决于环境,因此请相应地进行更改。

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

将以下信息添加到Tomcat systemd服务文件。

您可以使用sudo update-alternatives –list java列出系统上可用的Java版本。

输出示例:/ usr / lib / jvm / java-11-openjdk-amd64 / bin / java。

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

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid

Environment=CATALINA_HOME=/opt/tomcat

Environment="CATALINA_OPTS=-Xms512M -Xmx1G -Djava.net.preferIPv4Stack=true"
Environment="JAVA_OPTS=-Djava.awt.headless=true"

ExecStart=/opt/tomcat/bin/startup.sh

ExecStop=/opt/tomcat/bin/shutdown.sh

SuccessExitStatus=143

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

重新加载systemd守护程序。

sudo systemctl daemon-reload

启动并启用Apache Tomcat服务。

sudo systemctl start tomcat

sudo systemctl enable tomcat

缺省情况下,Tomcat在端口8080上运行。可以使用netstat命令检查端口状态。

sudo netstat -antup | grep 8080
Output:

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      3834/java

读:
找不到netstat命令-快速修复

配置Apache Tomcat Web UI

Tomcat附带了用于管理Tomcat服务器的Web Manager和Host Manager。 主机管理器和Web管理器均受密码保护。

只有具有manager-gui和admin-gui角色的用户才能分别访问Web管理器和主机管理器。 这两个角色在tomcat-users.xml文件中定义。

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

将以下两行(角色和用户定义)放在最后一行的正上方。

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

出于安全原因,只能从本地主机(即从服务器本身)访问Web Manager和Host Manager。

要从远程系统访问管理器,您需要将源网络添加到允许列表。

为此,请编辑以下两个文件。

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

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

使用您要从中访问Web和主机管理器的源IP更新这两个文件的以下行。 。*将允许每个人都可以访问经理。

allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1|.*" />

要么

您只能允许网络的一部分。 例如,要仅允许192.168.0.0/24网络,可以使用以下值。

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

重新启动Tomcat服务。

sudo systemctl restart tomcat

访问Apache Tomcat

打开网络浏览器并将其指向,

http:// ipaddress:8080

您将获得Tomcat默认页面,并且该页面确认Tomcat的成功安装。


Apache Tomcat 9默认页面

请点击 经理应用 访问Web应用程序管理器:需要登录。 用户名:admin,密码:密码。

登录访问
登录访问

在这里,您可以部署新应用程序,在指定的上下文中部署应用程序,启动,停止,重新加载和取消部署应用程序。

Tomcat Web应用程序管理器
Tomcat Web应用程序管理器

另外,您可以单击上一页的服务器状态(Web应用程序管理器)来检查服务器状态。

Tomcat服务器状态
Tomcat服务器状态

您可以通过单击Tomcat虚拟主机管理器来管理Tomcat的虚拟主机。 房东经理 在Tomcat的默认页面上:需要登录。 用户名:admin,密码:密码。

Tomcat虚拟主机管理器
Tomcat虚拟主机管理器

结论

就这样。 我希望您已经学习了如何在Debian 10 / Debian 9上安装Apache Tomcat。请在评论部分中分享您的反馈。

Sidebar