如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7

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

介绍

Apache Tomcat 是一个用于提供 Java 应用程序的 Web 服务器和 Servlet 容器。Tomcat 是 Java Servlet 和 JavaServer Pages 技术的开源实现,由 Apache 软件基金会发布。

本教程涵盖了在 CentOS 7 服务器上使用 yum 安装 Tomcat 7 的基本安装和一些配置。请注意,这将安装官方 Ubuntu 软件仓库中的最新版本的 Tomcat,这可能不是最新版本的 Tomcat。如果您想确保安装最新版本的 Tomcat,您可以随时下载最新的二进制发行版。

先决条件

在开始本指南之前,您应该在服务器上设置一个单独的非根用户帐户。您可以通过完成 CentOS 7 初始服务器设置教程来学习如何做到这一点。我们将在本教程的其余部分使用 demo 用户。

安装 Tomcat

现在您已经准备好安装 Tomcat 7。运行以下命令安装 Tomcat 软件包:

sudo yum install tomcat

在确认提示处回答 y 以安装 Tomcat。这将安装 Tomcat 7 及其依赖项,如 Java,并且还将创建 tomcat 用户。

大多数重要的 Tomcat 文件将位于 /usr/share/tomcat 目录中。如果您已经有一个要运行的 Tomcat 应用程序,您可以将其放在 /usr/share/tomcat/webapps 目录中,配置 Tomcat,并重新启动 Tomcat 服务。然而,在本教程中,我们将安装一些额外的软件包,这些软件包将帮助您管理 Tomcat 应用程序和虚拟主机。

让我们快速更改 Tomcat 启动时使用的 Java 选项。打开 Tomcat 配置文件:

sudo vi /usr/share/tomcat/conf/tomcat.conf

在文件中添加以下 JAVA_OPTS 行。随意更改 XmxMaxPermSize 的值 - 这些设置会影响 Tomcat 将使用多少内存:

JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Xmx512m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC"

保存并退出。

请注意,Tomcat 服务尚未运行。

安装管理软件包

如果您刚开始使用 Apache Tomcat,您很可能希望安装一些管理工具,以帮助您部署 Java 应用程序和管理虚拟主机。幸运的是,有一些包包括这些工具作为 Web 应用程序。

要安装默认的 Tomcat 根页面(tomcat-webapps)以及 Tomcat Web 应用程序管理器和虚拟主机管理器(tomcat-admin-webapps),运行以下命令:

sudo yum install tomcat-webapps tomcat-admin-webapps 

在确认提示处回答 y

这将向 tomcat/webapps 目录添加 ROOTexamplessamplemanagerhost-manager Web 应用程序。

安装在线文档(可选)

如果您想安装 Tomcat 文档,以便默认的 Tomcat 页面上的所有链接都能正常工作,运行以下命令:

sudo yum install tomcat-docs-webapp tomcat-javadoc

在提示处回答 y 以安装文档包。

配置 Tomcat Web 管理界面

为了使用前面安装的管理 Web 应用程序,我们必须向我们的 Tomcat 服务器添加登录。我们将通过编辑 tomcat-users.xml 文件来实现这一点:

sudo vi /usr/share/tomcat/conf/tomcat-users.xml

该文件中充满了描述如何配置文件的注释。您可能希望删除以下行之间的所有注释,或者如果您想引用示例,可以将它们保留下来:

<tomcat-users>
...
</tomcat-users>

您将希望添加一个可以访问 manager-guiadmin-gui(我们之前安装的管理界面)的用户。您可以通过定义类似下面示例的用户来这样做。确保将用户名和密码更改为安全的内容:

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

保存并退出 tomcat-users.xml 文件。

现在我们准备启动 Tomcat 服务。

启动 Tomcat

为了使我们的更改生效,重新启动 Tomcat 服务:

sudo systemctl start tomcat

如果您出于某种原因之前已经启动了服务,请运行重新启动命令:

sudo systemctl restart tomcat

启用 Tomcat 服务

如果你希望 Tomcat 在每次服务器启动时都能运行,你需要启用该服务:

sudo systemctl enable tomcat

现在我们已经准备好访问 Web 界面了。

访问 Web 界面

现在 Tomcat 已经启动运行,让我们在 Web 浏览器中访问 Web 管理界面。你可以通过访问服务器的公共 IP 地址,使用 8080 端口来实现:

[secondary_label 在 Web 浏览器中打开:]
http://server_IP_address:8080

你将会看到类似以下图片的界面:

!Tomcat root

如你所见,这里有你之前安装的管理 webapps 的链接。

让我们来看看 Manager App,可以通过链接或 http://server_IP_address:8080/manager/html 访问:

!Tomcat Web Application Manager

Web 应用程序管理器用于管理你的 Java 应用程序。你可以在这里启动、停止、重新加载、部署和卸载应用程序。你还可以对应用程序运行一些诊断(比如查找内存泄漏)。最后,关于你的服务器的信息可以在页面底部找到。

现在让我们来看看 Host Manager,可以通过链接或 http://server_IP_address:8080/host-manager/html/ 访问:

!Tomcat Virtual Host Manager

从虚拟主机管理器页面,你可以添加虚拟主机来为你的应用程序提供服务。

结论

你的 Tomcat 安装已经完成!现在你可以自由部署你自己的 Java Web 应用程序了!

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

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

相关文章

链表的实现(C++版)

对于链表的学习,之前在C语言部分的时候就已经有学习过,也学会了使用C语言来打造一个链表.如今学了C 则想通过C来打造一个链表,以达到锻炼自己的目的. 1.链表的初步实现 1.节点模板的设置 template <class T> struct ListNode{ListNode <T>* _next;ListNode <T…

k8s学习--使用kubepshere部署devops项目时遇到的报错(无法找到gitee仓库)

今天在kubesphere部署devops项目&#xff0c;编辑流水线的时候&#xff0c;发现怎么也访问不到gitee仓库 报错的流水线位置 报错日志 报错原因 变量问题 因为看见了csy/sangomall&#xff0c;所以理所当然的把路径变量GITEE_ACCOUNT写成了用户名 解决方法 结果发现仓库…

可靠的图纸加密软件,七款图纸加密软件推荐

大家好啊,我是小固,今天跟大家聊聊图纸加密软件。 作为一名设计师,我深知保护自己的知识产权有多重要。曾经就因为图纸泄露,差点血本无归,那个教训可真是惨痛啊!所以我今天就给大家推荐几款靠谱的图纸加密软件,希望能帮到你们。 固信软件https://www.gooxion.com/ 首先要隆重…

Java语言程序设计——篇十一(1)

&#x1f33f;&#x1f33f;&#x1f33f;跟随博主脚步&#xff0c;从这里开始→博主主页&#x1f33f;&#x1f33f;&#x1f33f; 欢迎大家&#xff1a;这里是CSDN&#xff0c;我的学习笔记、总结知识的地方&#xff0c;喜欢的话请三连&#xff0c;有问题可以私信&#x1f33…

Vue 的安装与配置

今天是八月一日&#xff0c;我也开启了Vue的学习&#xff0c;希望和大家一起学编程&#xff0c;相互督促&#xff0c;相互进步&#xff01; 安装vscode 安装Node.js 官网&#xff1a;https://nodejs.org/zh-cn 下载完正常安装就行 可以winr输入cmd&#xff0c;也可以vscod…

springboot智能健康管理平台-计算机毕业设计源码57256

摘要 在当今社会&#xff0c;人们越来越重视健康饮食和健康管理。借助SpringBoot框架和MySQL数据库的支持&#xff0c;开发智能健康管理平台成为可能。该平台结合了小程序技术的便利性和SpringBoot框架的快速开发能力&#xff0c;为用户提供了便捷的健康管理解决方案。 通过智能…

【多线程】单例模式

&#x1f3c0;&#x1f3c0;&#x1f3c0;来都来了&#xff0c;不妨点个关注&#xff01; &#x1f3a7;&#x1f3a7;&#x1f3a7;博客主页&#xff1a;欢迎各位大佬! 文章目录 1. 什么是单例模式1.1 理解单例模式1.2 单例模式的特点 2. 饿汉模式3. 懒汉模式3.1 单线程下的懒…

中国人民解放军建军97周年

缅怀先烈&#xff0c;砥砺前行 付吾辈之韶华&#xff0c;耀吾辈之中华! 万里河山&#xff0c;有您心安!

Django REST Framework(十五)路由Routes

如何在Django REST framework中利用SimpleRouter和DefaultRouter来高效生成视图集的路由信息,并详细解释如何使用action装饰器为视图集中的自定义方法生成路由 1.路由的定义规则 路由称为URL(Uniform Resource Locator,统一资源定位符),也可以称为URLconf,是对可以从互联…

【Java题解】杨辉三角—力扣

&#x1f389;欢迎大家收看&#xff0c;请多多支持&#x1f339; &#x1f970;关注小哇&#xff0c;和我一起成长&#x1f680;个人主页&#x1f680; ⭐目前主更 专栏Java ⭐数据结构 ⭐已更专栏有C语言、计算机网络⭐ 题目链接&#xff1a;杨辉三角 目录&#x1f451; ⭐题…

the request was rejected because no multipart boundary was found

文章目录 1. 需求描述2. 报错信息3. 探索过程1. 使用postman 排除后端错误2. 搜索网上的解决方法3. 解决方法 1. 需求描述 想要在前端上传一个PDF 发票&#xff0c;经过后端解析PDF之后&#xff0c;将想要的值自动回填到对应的输入框中 2. 报错信息 org.apache.tomcat.util.…

2024年有哪些开放式耳机值得入手?值得关注的开放式耳机评测大赏

如今&#xff0c;开放式耳机越来越受到人们的关注。2024 年更是涌现出了众多优秀的开放式耳机产品。但在众多选择面前&#xff0c;哪一款耳机的音质更出色&#xff1f;哪一款佩戴起来更舒适&#xff1f;又有哪一款在通话质量和连接性能上表现更优异呢&#xff1f;接下来我将详细…

【Devops】CertD 完全免费、自动申请、自动部署SSL证书一站式管理工具 | 自动化HTTPS | 3个月SSL自动轮换

CertD CertD 是一个免费全自动申请和自动部署更新SSL证书的工具。 后缀D取自linux守护进程的命名风格&#xff0c;意为证书守护进程。 关键字&#xff1a;证书自动申请、证书自动更新、证书自动续期、证书自动续签 一、特性 本项目不仅支持证书申请过程自动化&#xff0c;还…

SpringMVC源码解析(二):请求执行流程

SpringMVC源码系列文章 SpringMVC源码解析(一)&#xff1a;web容器启动流程 SpringMVC源码解析(二)&#xff1a;请求执行流程 目录 前言DispatcherServlet入口一、获取HandlerExcutionChain(包括Handler)1、获取Handler1.1、通过request获取查找路径1.2、通过查找路径获取Han…

找工作很迷茫?程序员的岗位宝典来了!

随着数字化转型进展深入&#xff0c;大量数字化、智能化的岗位相继涌现。 但即使这样&#xff0c;大家依然认为&#xff0c;找到一份合适的工作实在是太&#xff01;难&#xff01;了&#xff01; 调查显示&#xff0c;技术创新和商业模式正在成为助推企业发展的两大动力。同时…

【iOS】——锁

五类锁 锁作为一种非强制的机制&#xff0c;被用来保证线程安全。每一个线程在访问数据或者资源前&#xff0c;要先获取&#xff08;Acquire&#xff09;锁&#xff0c;并在访问结束之后释放&#xff08;Release&#xff09;锁。如果锁已经被占用&#xff0c;其它试图获取锁的…

计算机网络必会面经

1.键入网址到网页显示&#xff0c;期间发生了什么 2.在TCP/IP网络模型中。TCP将数据进行分段后&#xff0c;为什么还需要IP层继续分片 3.详细说明tcp三次握手&#xff0c;为什么是三次&#xff0c;若每次握手丢了&#xff0c;解决办法是什么 4.详细说明tcp四次挥手&#xff…

【Python】python基础

本篇文章将讲解以下知识点&#xff1a; &#xff08;1&#xff09;循环语句 &#xff08;2&#xff09;字符串格式化 &#xff08;3&#xff09;运算符 一&#xff1a;循环语句 循环语句有两种&#xff1a;while for 本篇文章只讲解while循环 格式&#xff1a; whil…

Unity材质球自动遍历所需贴图

Unity材质球自动遍历所需贴图 文章目录 Unity材质球自动遍历所需贴图一、原理二、用法1.代码&#xff1a;2.使用方法 一、原理 例如一个材质球名为&#xff1a;Decal_Text_Cranes_01_Mat &#xff0c; 然后从全局遍历出&#xff1a;Decal_Text_Cranes_01_Albedo赋值给材质球的…

【网络基础】初识网络 {计算机网络背景;网络协议初识;网络传输基本流程;网络中的地址管理;网络设备简单介绍}

一、计算机网络背景 1.1 网络发展 计算机网络的发展可以追溯到20世纪60年代&#xff0c;那时候最初的计算机网络只是为了让科学家们能够共享计算机资源和数据。但是在20世纪80年代&#xff0c;互联网的出现彻底改变了计算机网络的面貌&#xff0c;使得人们可以随时随地通过互…