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

tomcat进阶

一、tomcat

1.多域名访问测试

更改server.xml文件的<Host>,每一个域名或IP单独作为一个<Host></Host>标签。

核心就是name参数和appBase参数,name填写域名,name是localhost表示可以通过公网IP访问,appBase填写目录路径,注意目录路径下必须有ROOT目录,项目放在ROOT目录下。

当使用域名或IP访问时如果url后面不带目录,那么直接跳转到ROOT目录下。

注意更改默认的8080端口,改成80端口。

DNS解析,添加A记录,A记录可以将域名指向IP

测试ROOT下的index.html

images下的index.html

!!!注意

假如你的站点域名是www.abc.top,而你在DNS解析中添加了一个三级域名www.test1.abc.top,且在server.xml</Host>中设置name="www.abc.top",那么如果用户用三级域名www.test1.abc.top访问到的画面会是什么呢?

测试

www.abc.top访问到test01

用www.test1.abc.top访问到tomcat主页,但我并没有在server.xml中设置该三级域名,由此可见,本质上三级域名直接转发到IP,而不是转发到二级域名。

www.test1.abc.top并没有在tomcat配置文件中设置,但是DNS解析到www.test1.abc.top解析到域名的IP,转而直接访问IP的80端口,也就是tomcat主页。

2.多端口访问测试

在server.xml多添加一对<Service></Service>,注意更换端口即可。

3.tomcat-manager监控

tomcat-manager是tomcat自带的监控系统,更改~/conf/tomcat-user.xml

  <role rolename="manager-script"/>
  <role rolename="manager-gui"/>
  <role rolename="manager-jmx"/>
  <user username="tomcat" password="tomcat" roles="manager-script,manager-gui,manager-jmx"/>
  <user username="both" password="123456" roles="tomcat,role1"/>
  <user username="role1" password="123456" roles="role1"/>

在tomcat服务器的conf/Catalina/localhost/目录下创建一个manager.xml文件

<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

webapps下是否有manager,如果没有,从别的tomcat中复制一个。

测试,浏览器输入http://IP:port/managers/status,弹出登录页面,用户名是tomcat,密码是tomcat如果显示403报错,需要~//webapps/manager/META_INF/context.xml去除对访问权限的设置,重启tomcat。

<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>


http://www.kler.cn/a/6733.html

相关文章:

  • Python 三种方式实现自动化任务
  • 23种设计模式-备忘录(Memento)设计模式
  • C++设计模式:抽象工厂模式(风格切换案例)
  • 金山云Q3调整后EBITDA率提升至9.8% 经营效率和盈利能力强劲增长
  • 环形缓冲区 之 STM32 串口接收的实现
  • K8s 一键部署 MongoDB 的 Replica-Set 和 MongoDB-Express
  • doctor安装mysql jdk nginx tomcat
  • 蓝桥杯第23天(Python)(疯狂刷题第6天)
  • JAVA基于J2ME的手机游戏开发和实现——贪吃蛇
  • windows系统上设置conda和pip国内源
  • tmall.service.settleadjustment.modify( 修改结算调整单 )
  • ARM—汇编指令集
  • 2023链动2+1模式详解
  • 【对YOLOv8(ultralytics)打印测试结果的调整】(1)使得map值打印显示从0.551变为55.08 (2)打印出FPS
  • 一个的错误的演化
  • ImportError: cannot import name imread
  • RocketMQ客户端配置详解
  • CentOS7系统安装MySQL 5.7
  • FOR ALL ENTRIES IN 与 INNER JOIN 内表
  • 2023年最全前端React18面试题考点
  • 第4章 封装组件中级篇
  • Vue项目笔记
  • 如何防止服务器数据轻易泄露
  • React+Typescript+Electron 开发跨平台桌面应用教程
  • HarmonyOS/OpenHarmony应用开发-Stage模型ArkTS语言AbilityConstant
  • 保姆式教学-实现天空盒旋转