在 Debian 服务器上安装和配置 Apache Tomcat 的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

介绍


Apache Tomcat 是一个应用服务器,可用于向 web 用户提供 Java 应用程序。它是由 Sun Microsystems 开发的 Java Servlet 和 JavaServer Pages 规范的开放实现。

如果您开发 Java 应用程序,Tomcat 是一种快速简便的方式,可在专门为此目的设计的完整服务器环境中提供服务。

在本指南中,我们将在 Debian 7 VPS 上安装 Tomcat 并进行一些基本配置。要完成本教程,您需要具有具有 sudo 特权的普通用户。请按照本指南学习如何在 Debian 系统上创建用户。

安装 Apache Tomcat


在本指南中,我们将安装 Tomcat 7 版本及其相关软件包。幸运的是,这些都包含在默认的 Debian 软件仓库中。

要获取基本软件包,我们可以更新软件源列表,然后安装主要软件包:

sudo apt-get update
sudo apt-get install tomcat7

这就是我们需要做的一切,就可以访问默认的 Tomcat 页面了。我们的安装还没有完成,但您可以通过在 web 浏览器中输入您的 IP 地址或域名后跟 :8080 来查看默认的 Tomcat 页面:

your_domain_or_ip:8080

!DigitalOcean Tomcat 默认页面

为了充分利用 Tomcat 的更多功能,我们将安装一些额外的 Tomcat 软件包。

这些软件包将允许我们使用 web 界面来控制 Tomcat。它还将安装一些文档和示例,我们也可以通过 web 界面访问这些内容。

sudo apt-get install tomcat7-admin tomcat7-examples tomcat7-docs

安装 Java 开发工具


为了在服务器上使用 Tomcat 开发 Java 应用程序,您需要下载并安装一些东西。

我们需要做的第一件事是安装兼容的 Java 开发工具包。我们可以使用以下命令安装 Debian 默认选择的一个:

sudo apt-get install default-jdk

这将安装 openjdk-6-jdk,它将在我们的环境中很好地工作。

Tomcat 文档还建议您安装 Apache Ant,这是一个用于 Java 应用程序的构建工具,以及某种版本控制系统。我们将选择 git:

sudo apt-get install ant git

这些将帮助您构建您的 Java 应用程序并保持代码组织良好。

配置 Tomcat Web 界面


在我们开始使用安装的一些功能之前,我们需要为我们的服务器配置用户和密码。出于安全原因,Tomcat 默认情况下不会执行此操作。

配置非常简单。我们需要编辑一个名为 tomcat-users.xml 的文件。使用以下命令打开它:

sudo nano /etc/tomcat7/tomcat-users.xml

在文件中,您将找到一个被大量注释的用户配置文件。事实上,文件中不是注释的部分只有:

<tomcat-users>
</tomcat-users>

正如您可能期望的那样,我们需要在这两行之间定义一个用户。我们将为此用户提供访问 web 界面的权限。我们可以像这样定义一个用户:

<tomcat-users><user username="<span class="highlight">admin</span>" password="<span class="highlight">password</span>" roles="manager-gui,admin-gui"/>
</tomcat-users>

选择任何您喜欢的用户名和密码。这将为您提供登录凭据,使您能够访问管理面板。

完成后保存并关闭文件。

我们应该重新启动 Tomcat 以实施我们的更改:

sudo service tomcat7 restart

测试 Web 界面


安装了 Tomcat 并配置了用户登录后,您可以通过在服务器 IP 地址或域名后跟 :8080 来访问主页:

your_domain_or_ip:8080

您将看到与之前相同的默认 Tomcat 页面(如果您进行了检查):

!DigitalOcean Tomcat 登陆页

然而,由于我们安装并配置了更多组件,我们将可以访问更多功能。

您可以通过单击页面上看到的链接或访问以下页面在浏览器中访问 Tomcat 文档:

your_domain_or_ip:8080/docs

!DigitalOcean Tomcat 文档

当您对如何在 Tomcat 中执行某些操作有疑问时,这应该是您的首选。

我们现在还可以访问一些使用几种不同技术实现的示例应用程序。这些可以通过初始登陆页面上的链接或访问以下页面来访问:

your_domain_or_ip:8080/examples

!DigitalOcean Tomcat 示例

单击这些项目可以让我们了解如何在这个环境中实现不同的功能。大多数示例包括您可以用作参考的源代码。

您将希望访问的主要功能是管理 web 应用程序主机管理 web 应用程序

同样,您可以从初始登陆页面访问这些,或者通过访问以下页面:

your_domain_or_ip:8080/manager/html

和:

your_domain_or_ip:8080/host-manager/html

第一个站点将允许您管理您的 Java 应用程序。它将让您轻松地启动、停止、部署和重新加载您的应用程序。它还可以找到由正在运行的应用程序引起的内存泄漏:

!DigitalOcean Tomcat 管理 web 应用程序

从另一个页面,您可以测试、调整和添加虚拟主机,以便轻松地为您的部署应用程序设置访问:

!DigitalOcean Tomcat 主机管理 web 应用程序

结论


正如你所看到的,Tomcat为在Web环境中控制和提供Java应用程序提供了一个良好的平台。您可以轻松部署.war文件,并在很短的时间内使其运行起来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/35316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解SpringSecurity中的Filter Chain

在Spring Security中&#xff0c;Filter Chain&#xff08;过滤器链&#xff09;是实现请求安全控制的核心。Spring Security的安全框架是建立在Servlet过滤器的基础上的&#xff0c;通过一系列过滤器来实现不同的安全特性&#xff0c;如认证、授权等。 什么是Filter Chain F…

正版软件 | 『闪点清单』— 您的智能悬浮任务管理专家

在繁忙的日常中&#xff0c;我们经常需要一个既能随时提醒&#xff0c;又不会打扰我们的待办事项管理工具。『闪点清单』&#xff0c;一款简约而不简单的悬浮清单软件&#xff0c;为您带来全新的任务管理体验。 设计简约&#xff0c;功能强大 『闪点清单』以其简约的设计和强大…

CVPR讲座总结(二)-探索图像生成基础模型的最新进展探索多模态代理的最新进展:从视频理解到可操作代理

引言 在CVPR24上的教程中&#xff0c;微软高级研究员Linjie Li为我们带来了多模态代理的深入探索。这些代理通过整合多模态专家和大语言模型&#xff08;LLM&#xff09;来增强感知、理解和生成能力。本文总结了Linjie Li的讲座内容&#xff0c;重点介绍了多模态记忆、可操作代…

供应链攻击是什么?

随着企业对技术和连接性的依赖日益增加&#xff0c;以及对第三方的普遍依赖&#xff0c;供应链攻击变得越来越普遍。这些攻击旨在通过供应商和商业伙伴损害企业。 供应链攻击可能对企业和组织构成重大威胁&#xff0c;因为它们可能危及它们的安全以及向客户提供的产品和服务的…

GPT-5或于一年半后发布?浅谈智能的飞跃与未来

一、前言 IT之家6月22日消息&#xff0c;在美国达特茅斯工程学院周四公布的采访中&#xff0c;OpenAI首席技术官米拉穆拉蒂被问及GPT-5是否会在明年发布&#xff0c;给出了肯定答案并表示将在一年半后发布。 技术的风暴从未停止&#xff0c;人工智能作为这场风暴中的旋风&…

ant-design-vue:Button的样式不是蓝色

ant-design-vue中a-button&#xff0c;设置的样式是“primary”。但不是蓝色。 解决方法&#xff1a;重新自定义样式 参考链接&#xff1a; https://www.jianshu.com/p/0b2fde46c761 HTML&#xff1a; <a-buttonclass"c-button-primary"type"primary&quo…

《昇思25天学习打卡营第2天 | 张量 Tensor》

《昇思25天学习打卡营第2天 | 张量 Tensor》 《昇思25天学习打卡营第2天 | 张量 Tensor》 《昇思25天学习打卡营第2天 | 张量 Tensor》什么是张量&#xff08;Tensor&#xff09;张量的创建方式根据数据直接生成从NumPy数组生成使用init初始化器构造张量继承另一个张量的属性&a…

unity 导入的模型设置讲解

咱们先讲Model这一栏 Model Scene&#xff1a;场景级属性&#xff0c;例如是否导入灯光和照相机&#xff0c;以及使用什么比例因子。 Scale Factor&#xff1a;缩放因子&#xff08;也就是模型导入后大小如果小了或者大了在这里直接改是相当于该模型的大小的&#xff0c;而且在…

浏览器扩展V3开发系列之 chrome.runtime 的用法和案例

【作者主页】&#xff1a;小鱼神1024 【擅长领域】&#xff1a;JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 chrome.runtime API 提供了一系列的方法和事件&#xff0c;可以通过它来管理和维护 Chrome 扩展的生命…

让GNSSRTK不再难【第14讲-第二部分】

14.1.2 多个系统多个频率 在 10.3 节中,我们介绍了卫星码偏差产生原因,信号发出的是天线相位中心,而不是信号发生器。同样的,对于接收机也存在相同的问题,即从模拟机的天线相位中心到内部信号跟踪环路这段的时延我们是无法知晓的。 如果多个系统仅仅使用一个地点进行定位…

什么!你还不会Redis?跟着我讲透Redis【上篇之初识与安装】

1 NoSQL是什么 1.1 NoSQL数据库概述 NoSQL(NoSQL Not Only SQL )&#xff0c;意即”不仅仅是SQL“&#xff0c;泛指非关系型的数据库。 NoSQL 不依赖业务逻辑方式存储&#xff0c;而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。 不遵循SQL标准。不支持A…

PKG打包sqlite3项目,如何添加node_sqlite3.node依赖

项目地址&#xff1a;https://github.com/helson-lin/pkg_sqlite 在ffandown项目内&#xff0c;由于项目使用了sqlite3&#xff0c;在跨平台打包的时候&#xff0c;除了本机外其他平台打包之后运行缺少node_sqlite3.node依赖。 为了解决问题&#xff0c;百度了很久&#xff0c…

构建RESTful API:PHP框架中的实践与策略

随着Web服务的兴起&#xff0c;RESTful API成为前后端分离架构中的关键组件。PHP作为一种广泛使用的服务器端脚本语言&#xff0c;通过各种现代框架提供了构建RESTful API的强大工具和灵活性。本文将详细介绍如何在PHP框架中实现RESTful API&#xff0c;探讨设计原则、实现步骤…

NLP 相关知识

NLP 相关知识 NLPLLMPrompt ChainingLangChain NLP NLP&#xff08;Natuarl Language Processing&#xff09;是人工智能的一个分支&#xff0c;中文名自然语言处理&#xff0c;专注于处理和理解人类使用的自然语言。它涵盖了多个子领域&#xff0c;如文本分类、情感分析、机器…

思维导图麒麟liunx系统

系统管理与计划任 ” 使用at命令提交任务。 6.2.1 at任务概述 6.1.4 定时任务的使用场景 at任务是指使用at命令安排的&#xff0c;只执行一次的任务它允许用户指定在未来某个特定时间执行命令或脚本定时更新系统软件包。定时清理系统临时文件。自动备份文件和数据库。 at:用于一…

pytorch 源码阅读(2)——torch._dynamo.optimize

0 torch._dynamo.optimize(backend, *, nopython, guard_export_fn, guard_fail_fn, disable, dynamic)&#xff0c;TorchDynamo 的主入口点 1 参数说明 backend&#xff0c;一般有两种情况&#xff1a; 一个包含 torch.fx.GraphModule 和 example_inputs&#xff0c;返回一个…

【websocket】websocket网课视频记录

仅个人方便回顾。 【WebSocket入门与案例实战-哔哩哔哩】 https://b23.tv/2p1f9t2 课程对应代码仓库: https://gitee.com/duoli-java/websocket-demo.git

C++编程(二)引用

文章目录 一、C中的引用&#xff08;一&#xff09;引用1. 语法格式2. 作用3. 注意事项 &#xff08;二&#xff09;常引用2. 其他场景 &#xff08;三&#xff09;引用和函数结合使用1. 引用可以作为函数的参数2. 引用可以作为函数的返回值 &#xff08;四&#xff09;引用和指…

在 C/C++ 中使用 popen去执行linux命令样例,失败场景

在 C/C 中使用 popen 函数去执行 Linux 命令是一种常见的方式&#xff0c;但确实存在多种可能导致失败的场景。以下是一些可能导致 popen 失败的常见原因和样例&#xff1a; 命令不存在或路径错误&#xff1a; 如果你尝试执行的命令不存在于系统的 PATH 环境变量中&#xff0c;…

记因hive配置文件参数运用不当导致 sqoop MySQL导入数据到hive 失败的案例

sqoop MySQL导入数据到hive报错 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 64 报错解释&#xff1a; 这个错误表明Sqoop在尝试导入数据到Hive时遇到了问题&#xff0c;导致Hive进程异常退出。状态码…