当前位置: 首页 > news >正文

Tomcat 核心配置解析:4 大文件、乱码处理、端口与 Manager 配置

目录

1. 📄Tomcat配置文件介绍

 2. 🔤解决控制台乱码

3. 🔌修改Tomcat监听端口

4. 🎛️配置Tomcat Manager

4.1. 🔑配置Tomcat Manager的访问用户

4.2. 👥配置用户及角色

4.3. 🚪解除本机访问限制

5. 📌总结


💡【开发哲学共勉】
Tomcat 配置如搭积木:context.xml 是地基、server.xml 是框架、web.xml 是装饰、tomcat-users.xml 是门禁卡 —— 技术搭建和盖楼同理,稳了才能扛住业务

前言

本文主要讲解Tomcat的4 大文件、乱码处理、端口与 Manager 配置,旨在让读者更好的理解和掌握Tomcat的核心配置

个人主页:艺杯羹 

系列专栏:Servlet

1. 📄Tomcat配置文件介绍

先介绍一下Tomcat的配置文件

Tomcat 的配置文件由4个xml组成,分别是 context.xml、web.xml、server.xml、tomcat-users.xml。每个文件都有自己的功能与配置方法

context.xml
context.xml 是 Tomcat 公用的环境配置。 Tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器 
唯一 一个不需要修改配置文件后保存,其他的修改了想要生效,就要重启Tomcat

web.xml
Web应用程序描述文件,都是关于是Web应用程序的配置文件。所有Web应用的 web.xml 文件的父文件。web项目部署描述文件

server.xml
是 tomcat 服务器的核心配置文件,server.xml的每一个元素都对应了 tomcat中的一个组件,通过对xml中元素的配置,实现对 tomcat中的各个组件和端口的配置。

tomcat-users.xml
配置访问Tomcat的用户以及角色的配置文件

表格总结

配置文件作用与特点
context.xmlTomcat 公用环境配置,修改后自动重新加载,无需重启服务器
web.xmlWeb 应用程序描述文件,是所有 Web 应用 web.xml 的父文件,用于部署描述
server.xmlTomcat 核心配置文件,通过配置元素对应组件,实现对服务器组件和端口的配置
tomcat - users.xml配置访问 Tomcat 的用户及角色的文件

 2. 🔤解决控制台乱码

像在java项目等等的场景出现乱码一般都是因为编码不匹配所导致的

控制台产生乱码的原因是在Tomcat在输出日志中使用的是UTF-8编码,而我们中文的Windows操作系统使用的是GBK编码(国内汉字编发方式)。由于编码格式不统一,所以出现了乱码。

解决方式:
修改 conf 目录中的 logging.properties 文件重新指定的编码方式

java.util.logging.ConsoleHandler.encoding = GBK

​ 

3. 🔌修改Tomcat监听端口

Tomcat默认监听端口为8080。可以通过conf 修改server.xml文件来改变Tomcat的监听端口。
注意这个要重启Tomcat才能生效

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

4. 🎛️配置Tomcat Manager

Tomcat Manager是Tomcat自带的Web应用
用于管理Tomcat自身及部署在其上的Web应用,支持部署/取消部署应用、查看应用状态、 reload应用、操作应用启停等,需配置特定角色(如manager - gui等 )授权访问 。

无论点哪个都会出现登录界面
没有用户,所以要配置

4.1. 🔑配置Tomcat Manager的访问用户

Tomcat Manager中没有默认用户,我们需要在tomcat-users.xml文件配置
Tomcat Manager的用户配置需要配置两个部分
角色配置、用户名及密码配置

Tomcat Manager中的角色分类(rolename)

  • manager-gui角色:
    允许访问HTML GUI和状态页面  ( 即URL路径为/manager/html/* )
  • manager-script角色:
    允许访问文本界面和状态页面  ( 即URL路径为/manager/text/* )
  • manager-jmx角色:
    允许访问JMX代理和状态页面  ( 即URL路径为/manager/jmxproxy/* )
  • manager- status角色:
    仅允许访问状态页面  (即URL路径为/manager/status/*)

4.2. 👥配置用户及角色

配置用户和角色就要修改 conf(配置文件目录) 下的 tomcat-users.xml 中的 roleuser 标签

<role rolename ="manager-gui"/> 
<user username ="luoyi" password ="88888" roles="manager-gui" />

4.3. 🚪解除本机访问限制

如果用本机的IP来访问例如:192.168.2.105
则会出现限制

进入Tomcat的webapps目录下,打开 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>

5. 📌总结

希望能够帮助到你(๑•̀ㅂ•́)و✧

http://www.lryc.cn/news/571291.html

相关文章:

  • 企业ERP致胜秘籍:从流程革新到智能决策
  • 关系数据库-数据库事务处理与ACID原则
  • Android 开发问题:CardView 的阴影效果会受到父容器的裁切
  • STM32 实现解析自定义协议
  • HTTP 请求中的 `Content-Type` 类型详解及前后端示例(Vue + Spring Boot)
  • 为什么您应该停止使用 1080 玻璃
  • eBPF(6)--uprobe
  • MRI学习笔记-BrainNet Viewer
  • python大学生志愿者管理系统-高校志愿者管理信息系统
  • llama_index chromadb实现RAG的简单应用
  • 基于Java的Excel列数据提取工具实现
  • React Native 搭建iOS与Android开发环境
  • leetcode_3584子序列首尾元素乘积最大值
  • phpstorm无缝切换vscode
  • 在Linux上搭建FRP服务器及Docker部署FRP实现内网穿透方案二(Nginx前置 + FRP TCP穿透)
  • C++智能指针(详细解答)
  • 多维度剖析Kafka的高性能与高吞吐奥秘
  • FPGA基础 -- Verilog语言要素之向量线网与标量线网
  • 自然语言处理(NLP)核心技术:从词嵌入到Transformer
  • 微信小程序一款不错的文字动画
  • 密度泛函涨落理论在医疗人工智能中的应用与展望:多尺度物理驱动智能的新范式
  • Spring Boot + MyBatis + Redis Vue3 Docker + Kubernetes + Nginx
  • OpenCV 视频文件读取
  • Linux核心文件(core file)详解
  • Vue 3 常用响应式数据类型详解:ref、reactive、toRef 和 toRefs
  • 【Linux系统】初识虚拟地址空间
  • Java微服务-新建demo
  • UTF-8 发展历史以及与 UTF-16/GBK 之间的差异
  • AI办公提效,Deepseek + wps生成ppt
  • 网络安全之任意文件读取利用