Tomcat 简介与 Linux 环境部署 - 指南

news/2025/9/27 12:52:50/文章来源:https://www.cnblogs.com/yxysuanfa/p/19114976

Tomcat 简介与 Linux 环境部署

一、Tomcat 简介

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。

常见中间件选型

  • 本地开发、小项目/个人开发:Tomcat
  • Linux 系统:jetty 或 apache httpd
  • 大型项目:JBOSS 或 WebLogic
  • 大项目/商业项目:WebLogic/WebSphere(其他还有 jboss、glasshfish 等)
  • 示例项目/小项目:jetty
  • 常规项目:Tomcat 即可满足需求

二、实操部署步骤

1. 关闭防火墙和 selinux

(注:原始实操未细分临时/永久关闭,按原始指令执行)

2. 安装 java

[root@hrz1 ~]# yum -y install java-11-openjdk

3. 解压 tomcat 到 /usr/local/ 目录下

[root@hrz1 ~]# tar -xzf apache-tomcat-10.0.23.tar.gz  -C /usr/local/
[root@hrz1 ~]# cd /usr/local/
[root@hrz1 local]# ln -s apache-tomcat-10.0.23/ tomcat

4. 自定义 Hello World 的 Java 测试网页

[root@hrz1 local]# mkdir /usr/local/tomcat/webapps/test
[root@hrz1 local]# cd /usr/local/tomcat/webapps/test 
[root@hrz1 test]#  vim index.jsp

index.jsp 中写入以下内容:

test.page

Hello world

5. 启动 tomcat

[root@hrz1 test]# cd /usr/local/tomcat      
[root@hrz1 tomcat]# bin/startup.sh 
# 验证 tomcat 进程
[root@hrz1 tomcat]# ps  -ef  | grep  tomcat

(执行后应显示类似以下进程信息)

root      70048      1  0 11:11 pts/0    00:00:04 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root      70141   9738  0 11:19 pts/0    00:00:00 grep --color=auto tomcat

6. 测试访问

  • 访问 tomcat 首页:http://192.168.100.10:8080
    在这里插入图片描述

  • 访问 hello world 测试页:http://192.168.100.10:8080/test/
    在这里插入图片描述

7. 配置并访问 Host Manager 界面

直接点击会有提示操作

在这里插入图片描述

步骤1:修改 tomcat-users.xml 文件
[root@hrz1 tomcat]# vim /usr/local/tomcat/conf/tomcat-users.xml 

</tomcat-users> 行上面添加以下内容(角色名固定为 admin-gui,用户名/密码自定义):

<user username="tomcat" password="123456" roles="admin-gui"/>
</tomcat-users>
步骤2:修改 host-manager 的 context.xml 文件
[root@hrz1 tomcat]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml 

确保 Valve 标签内容为:

<Valve className="org.apache.catalina.valves.RemoteAddrValve"allow="192\.168\.100\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
步骤3:重启 tomcat
[root@hrz1 tomcat]# /usr/local/tomcat/bin/catalina.sh stop
[root@hrz1 tomcat]# /usr/local/tomcat/bin/catalina.sh start
步骤4:登录测试

访问 Host Manager 界面,输入用户名 tomcat、密码 123456 登录。
在这里插入图片描述

8. 配置并访问 Server Status

步骤1:修改 tomcat-users.xml 文件
[root@hrz1 tomcat]# vim /usr/local/tomcat/conf/tomcat-users.xml 

</tomcat-users> 行上面添加以下内容:

<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="123456" roles="admin-gui,manager-gui"/>
</tomcat-users>
步骤2:修改 manager 的 context.xml 文件
[root@hrz1 tomcat]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml 

确保 Valve 标签内容为:

<Valve className="org.apache.catalina.valves.RemoteAddrValve"allow="192\.168\.100\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
步骤3:重启 tomcat
[root@hrz1 tomcat]# /usr/local/tomcat/bin/catalina.sh stop 
[root@hrz1 tomcat]# /usr/local/tomcat/bin/catalina.sh start
步骤4:登录测试

访问 Server Status 界面,输入用户名 tomcat、密码 123456 登录。

在这里插入图片描述

9. 访问 Manager App

访问 Manager App 时无需重复输入密码(因已登录 Server Status 界面,会话保持)。

户名 tomcat、密码 123456 登录。

[外链图片转存中…(img-dsAVceY8-1758700258457)]

9. 访问 Manager App

访问 Manager App 时无需重复输入密码(因已登录 Server Status 界面,会话保持)。

在这里插入图片描述

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

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

相关文章

深入解析:GraphRAG(知识图谱结合大模型)对人工智能中自然语言处理的深层语义分析的影响与启示

深入解析:GraphRAG(知识图谱结合大模型)对人工智能中自然语言处理的深层语义分析的影响与启示pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…

基于python网站开发vue做的小网站

文章目录 实现两数交换方法一、&#xff08;数组的方式进行交换&#xff09;方法二、&#xff08;对象的方式进行交换&#xff09;总结 实现两数交换 实现两数交换&#xff0c;没有办法通过直接传递数字达到交换的结果&#xff0c;定义的int型变量是被存储在栈空间上的&#xf…

深圳网站建设g淇县住房和城乡建设局网站

python引用DLL文件的方法转载于:https://www.cnblogs.com/Regle/p/7003261.html

双一流建设网站深圳宝安中心医院

1. Composition API(常用部分) 文档: ​ https://composition-api.vuejs.org/zh/api.html 1) setup 新的option, 所有的组合API函数都在此使用, 只在初始化时执行一次函数如果返回对象, 对象中的属性或方法, 模板中可以直接使用2) ref 作用: 定义一个数据的响应式语法: cons…

免费网站建设信息北京网站推广排名

ArXiv&#xff1a;https://arxiv.org/abs/1910.01108 Train Loss: DistilBERT&#xff1a; DistilBERT具有与BERT相同的一般结构&#xff0c;层数减少2倍&#xff0c;移除token类型嵌入和pooler。从老师那里取一层来初始化学生。 The token-type embeddings and the pooler a…

B站python入门学习---第二阶段第二章数据库、SQL和MySQL

一、数据库 数据库就是组织数据并存储的库,作用就是组织数据并存储数据。一般是按库——>表——>数据的层级组织数据。 数据库管理软件常见的有ORACLE,MySQL,SQLServer,SQLite等等。MySQL是由瑞典的DataKons…

C++项目:仿muduo库高并发服务器 - 实践

C++项目:仿muduo库高并发服务器 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

完整教程:zk管理kafkakafka-broker通信

完整教程:zk管理kafka&kafka-broker通信pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

域泛化DomainBed的评价指标含义解释

DomainBed是域泛化领域的公认框架,其统一了输入输出以及相关细节处理,使得泛化性能比较更加公平公正,但是庞大的框架使其理解十分困难,今天首先介绍其评价指标,即Selection字段。结果展示 +------------+--------…

JUC: 线程锁

1 面试题复盘如何理解多线程,如何处理并发,线程池有哪些核心参数?Java加锁有哪几种锁?synchronized原理是什么?为什么可重入?如何获取对象的锁?JVM对原生锁做了哪些优化?什么是锁清除和锁粗化?乐观锁是什么?…

手机网站是怎么制作的wordpress好玩插件

1.新建Android应用&#xff0c;确定应用包名 2.注册高德开放平台&#xff0c;打开控制台页面&#xff0c;应用管理&#xff0c;我的应用&#xff0c;创建新应用 3.添加Key 4.获取SHA1码 找到Android Studio自带的keytool 将其拖到cmd中&#xff0c;输入命令 -v -list -keystor…

网站在线咨询模块东营市招投标信息网

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; Linux &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解Linux中项目自动化构建工具make/makefile的相关内容。 如果看到最后…

dede网站地图怎么做lamp网站开发 pdf

为什么80%的码农都做不了架构师&#xff1f;>>> 介绍 在本系列的第一篇文章中&#xff0c;安装了Node.js、Ignite的Node.js瘦客户端包&#xff0c;并且测试了一个示例应用。在本文中&#xff0c;可以看一下Ignite在处理其它数据源&#xff08;比如关系数据库&#…

InteractiveCommunication Problems

/偏向于前者。CSP 初赛塞了两个交互,有点慌。

JSON 框架混用避坑指南:FastJSON vs Jackson

`com.alibaba.fastjson.JSON.parseObject()` 方法无法识别 Jackson 的 `@JsonProperty` 注解,导致字段映射失败。 核心矛盾:FastJSON 无法识别 Jackson 的 @JsonProperty 注解目录一、问题定位二、框架对比表三、典…

实用指南:网络通信协议全解析:HTTP/UDP/TCP核心要点

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

企业级大数据技术栈:基于Hadoop+Spark的全球经济指标分析与可视化环境实践

企业级大数据技术栈:基于Hadoop+Spark的全球经济指标分析与可视化环境实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

网站制作的相关术语西安专业做网站建

连接MySQL数据库时常见故障问题的分析与解决 初学的mysql网友好象经常会碰到mysql无法连接的错误。特开贴收集这样问题的现象和原因。 先自己扔块砖头出来。 归纳如下&#xff1a; 故障现象 : 无法连接 mysql 错误信息1 &#xff1a;ERROR 1045 (28000): Access deni…

若邻接矩阵是三角矩阵,则存在拓扑序列;反之则不一定成立

目录1. 命题回顾2. 前半句:邻接矩阵是三角矩阵 ⇒ 存在拓扑序列2.1 邻接矩阵是上三角矩阵的情况2.2 邻接矩阵是下三角矩阵的情况3. 后半句:反之则不一定成立4. 最终判断1. 命题回顾若邻接矩阵是三角矩阵,则存在拓扑…