阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何在Debian 9上安装Tomcat 8.5

353次阅读
没有评论

共计 4643 个字符,预计需要花费 12 分钟才能阅读完成。

Apache Tomcat 是一个开源应用程序服务器,它支持 Java Servlet,JavaServer Pages,Java 表达式语言和 Java WebSocket 技术。它是当今世界上使用最广泛的应用程序和 Web 服务器之一。

本教程将向您展示如何在 Debian 9 上安装 Apache Tomcat 8.5 并配置 Tomcat Web 管理界面。

先决条件

在继续本教程之前,请确保您以具有 sudo 权限的用户身份登录。

我们将使用 wget 下载 Tomcat zip 文件,并使用 unzip 解压缩下载的压缩文件。如果您的系统上没有安装这些实用程序,可以通过键入以下命令来完成:

sudo apt install unzip wget

安装 OpenJDK

Tomcat 8.5 需要 Java SE 7 或更高版本。要从 Debian 9 存储库安装默认的 OpenJDK 包,运行以下命令:

sudo apt install default-jdk

如果您更喜欢 OpenJDK 上的 Oracle Java,则可以按照此说明进行安装 http://www.linuxidc.com/Linux/2017-11/148941.htm。

创建 Tomcat 用户

不建议在生产系统的根用户下运行 Tomcat。

要为主目录为 /opt/tomcat 的 Tomcat 实例创建新的专用系统用户和组,请运行以下命令:

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

下载 Tomcat

我们将从 Tomcat 下载页面下载最新版本的 Tomcat 8.5.x。在撰写本文时,最新版本是 8.5.31。在下载 zip 文件之前,您应该检查下载页面是否有新版本。

切换到 /tmp 目录并使用 wget 下载 zip 文件:

cd /tmp
wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.zip

下载完成后,运行以下命令来解压 zip 文件并将其移至 /opt/tomcat 目录:

unzip apache-tomcat-*.zip
sudo mv apache-tomcat-*/ /opt/tomcat

为了更好地控制 Tomcat 版本和更新,我们将创建一个名为 latest 的符号链接,它将指向 Tomcat 安装目录:

sudo ln -s /opt/tomcat/apache-tomcat-* /opt/tomcat/latest

稍后,当您要升级 Tomcat 版本时,您可以简单地解压缩较新的版本并更改符号链接以指向最新版本。

将 /opt/tomcat 目录的所有权更改为用户和组 tomcat,以便用户可以访问 tomcat 安装:

sudo chown -R tomcat: /opt/tomcat

还可以在 bin 目录中执行脚本:

sudo chmod +x /opt/tomcat/latest/bin/*.sh

创建一个 systemd 单元文件

使用以下内容在 /etc/systemd/system/ 目录中创建一个新的 tomcat.service 单元文件:

/etc/systemd/system/tomcat.service

[Unit]
Description=Tomcat 8.5 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment=”JAVA_HOME=/usr/lib/jvm/default-java”
Environment=”JAVA_OPTS=-Djava.security.egd=file:///dev/urandom”

Environment=”CATALINA_BASE=/opt/tomcat/latest”
Environment=”CATALINA_HOME=/opt/tomcat/latest”
Environment=”CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid”
Environment=”CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC”

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

通知 systemd 我们创建了一个新的单元文件并通过执行以下命令来启动 Tomcat 服务:

sudo systemctl daemon-reload
sudo systemctl start tomcat

输入以下内容以检查 Tomcat 服务状态:

sudo systemctl status tomcat

输出

● tomcat.service
  Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
  Active: active (running) since Wed 2018-06-06 10:51:36 UTC; 3s ago
  Process: 21187 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 21195 (java)
    Tasks: 44 (limit: 4915)
  CGroup: /system.slice/tomcat.service

如果没有错误,您可以启用 Tomcat 服务在引导时自动启动:

sudo systemctl enable tomcat

您可以像任何其他 systemd 单位服务一样开始停止并重新启动 Tomcat:

sudo systemctl start tomcat
sudo systemctl stop tomcat
sudo systemctl restart tomcat

调整防火墙

如果您正在运行防火墙并且您想从本地网络外部访问 tomcat 界面,请使用以下命令打开端口 8080:

sudo ufw allow 8080/tcp

在生产环境中运行 Tomcat 应用程序时,您最有可能拥有负载平衡器或反向代理,并且最佳做法是将对端口 8080 的访问仅限于内部网络。

配置 Tomcat Web 管理界面

现在,Tomcat 安装在我们的 Debian 服务器上,下一步是创建一个可以访问 Web 管理界面的用户。

Tomcat 用户及其角色在 tomcat-users.xml 文件中定义。

如果你打开这个文件,你会发现它里面充满了描述如何配置文件的注释和例子。

sudo vim /opt/tomcat/latest/conf/tomcat-users.xml

我们将定义我们的新用户,在 tomcat-users.xml 文件中访问 tomcat Web 界面(manager-gui 和 admin-gui),如下所示。请确保您将用户名和密码更改为更安全的内容:

/opt/tomcat/latest/conf/tomcat-users.xml

<tomcat-users>
<!–
    Comments
–>
  <role rolename=”admin-gui”/>
  <role rolename=”manager-gui”/>
  <user username=”admin” password=”admin_password” roles=”admin-gui,manager-gui”/>
</tomcat-users>

默认情况下,Tomcat Web 管理界面只允许从本地主机访问,如果您想从远程 IP 或任何地方访问 Web 界面,因为存在安全风险,您可以打开以下文件并进行以下更改。

如果您需要从任何地方访问 Web 界面,请打开以下文件并发表评论或删除以红色突出显示的行:

/opt/tomcat/latest/webapps/manager/META-INF/context.xml

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

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

<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 访问 Web 界面,而不是评论块,请将您的公共 IP 添加到列表中。假设您的公共 IP 为 18.18.18.18,并且您只允许从该 IP 访问:

/opt/tomcat/latest/webapps/manager/META-INF/context.xml

<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|18.18.18.18″ />
</Context>

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

<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|18.18.18.18″ />
</Context>

允许的 IP 地址列表是用竖线分隔的列表。您可以添加单个 IP 地址或使用正则表达式。

测试安装

打开浏览器并输入:http://<your_domain_or_IP_address>:8080

如果安装成功,将出现类似于以下的屏幕:

如何在 Debian 9 上安装 Tomcat 8.5

Tomcat Web 应用程序管理器仪表板位于 http://<your_domain_or_IP_address>:8080/manager/html。从这里您可以部署,取消部署,启动,停止和重新加载应用程序。

如何在 Debian 9 上安装 Tomcat 8.5

Tomcat 虚拟主机管理器仪表板位于 http://<your_domain_or_IP_address>:8080/host-manager/html。从这里您可以创建,删除和管理 Tomcat 虚拟主机。

如何在 Debian 9 上安装 Tomcat 8.5

结论

OK!您已经在 Debian 9 系统上成功安装了 Tomcat 8.5。如果您遇到问题或有任何反馈,请在下面留言。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4643字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7995576
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...