tomcat 状态页 及常见配置

一 状态页

(一)本机查看tomcat 状态页

1, 状态页在哪

访问tomcat 默认页面中的 点击server status 这里即为状态页

因为状态页表隐私 tomcat隐藏了 我们点进去能看到位置在 ip:8080/manager/status

即在 这个位置

2,新增能访问状态页的用户

用户认证,配置文件是conf/tomcat-users.xml。打开tomcat-users.xml,我们需要一个角色manager-gui

2.1 找到配置文件

2.2 修改配置文件 在文末加上:

bash 复制代码
#加下面两行,指定用户和密码
 <role rolename="manager-gui"/>
 <user username="admin" password="123456" roles="manager-gui"/>

2.3 重启tomcat

3, 在本机访问 状态页

使用 本机浏览器 输入状态页地址 再输入刚刚生成的账户 密码

(二)开启允许远程状态页

1, 由于是访问的http://192.168.91.100:8080/manager/status manager 这个页面,所以需要manager 文件夹有权限

添加允许的 主机地址

2, 重启 tomcat

3,远程查看状态页

二 项目管理页面

三 虚拟机 管理页面

(一) 虚拟机管理页面在哪

(二)添加登录 虚拟机管理页面的 账户

此时还只能本机登录

(三) 设置远程登录

(四)远程登录 虚拟机管理页面

四 常见配置详解

(一)端口8005/tcp安全配置管理

在conf/server.xml 有以下内容8005是Tomcat的管理端口,默认监听在127.0.0.1上。无需验证就可发送SHUTDOWN (大小写敏感)这个字符串,tomcat接收到后就会关闭此Server。

bash 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
      </Host>
    </Engine>
  </Service>
</Server>

8005是Tomcat的管理端口,默认监听在127.0.0.1上。无需验证就可发送SHUTDOWN (大小写敏感)这个字符串,tomcat接收到后就会关闭此Server。

比如 telnet 127.0.0.1 8005

再输入 shutdown

此管理功能建议禁用,可将SHUTDOWN改为一串猜不出的字符串实现或者port修改成 0,会使用随机端口如:36913

port设为-1等无效端口,将关闭此功能此行不能被注释,否则无法启动tomcat服务

范例:

bash 复制代码
<Server port="8005" shutdown="44ba3c71d57f494992641b258b965f28">

(二) tomcat 端口号

8080: 默认接收 http 请求的端口

8005: 安全端口,可以关闭tomcat

8009: apache 和 tomcat 联动 AJP 协议

(三) 虚拟主机配置

可能有时候公司会有多个项目需要运行,那么肯定不可能是一台服务器上运行多个 Tomcat 服务,这样会消耗太多的系统资源。此时,就需要使用到 Tomcat 虚拟主机。

1,创建虚拟主机前,必须先创建相关目录,否则创建虚拟机不成功

2,修改配置文件

3, 客户机将域名 设置好

就可以做到 虚拟主机

五 Context配置

Context作用:

  • 路径映射:将url映射至指定路径,而非使用appBase下的物理目录,实现虚拟目录功能

  • 应用独立配置,例如单独配置应用日志、单独配置应用访问控制

bash 复制代码
#映射指定路径
<Context path="/test" docBase="/data/test" reloadable="true" />
#映射站点的根目录
<Context path="/" docBase="/data/website" reloadable="true" />
#还可以添加日志等独立的配置
<Context path="/test" docBase="/data/test" reloadable="true" >
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_test_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Context>

说明:

  • path:指的是访问的URL路径,如果path与appBase下面的子目录同名,context的docBase路径优先更高

  • docBase:可以是磁盘文件的绝对路径,也可以是相对路径(相对于Host的appBase)

  • reloadable:true表示如果WEB-INF/classes或META-INF/lib目录下.class文件有改动,就会将WEB应用重新加载。生产环境中,建议使用false来禁用。

相关推荐
怒放吧德德1 天前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆1 天前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
心之语歌1 天前
基于注解+拦截器的API动态路由实现方案
java·后端
华仔啊1 天前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·架构
Ray Liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Java水解1 天前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端
SimonKing1 天前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean1 天前
Jackson View Extension Spring Boot Starter
java·后端
Seven971 天前
剑指offer-79、最⻓不含重复字符的⼦字符串
java