Tomcat常见配置(基础功能、虚拟主机、搭建博客)

目录

一、Tomcat基础功能

1、自动解压war包

2、Tomcat工具界面

2.1 Server Status (服务器状态)

2.1.1 本地登录状态页

2.1.2 远程登录状态页

2.2 Manager App (管理应用程序)

2.3 Host Manager (主机管理器)

3、Context 配置

二、配置虚拟主机

三、搭建 JPress 博客

1、Tomcat操作

2、mysql操作

3、浏览器访问安装


一、Tomcat基础功能

1、自动解压war包

Tomcat所用到的打包格式

.warWebApp打包,类zip格式文件,通常包括一个应用的所有资源,比如 jsp、html、配置文件等
.jarEJB类文件的打包压缩类zip格式文件,包括很多的class文件, 网景公司发明
.rar资源适配器类打包文件,目前已不常用
.ear企业级WebApp打包,目前已不常用

传统应用开发测试后,通常打包为war格式,这种文件部署到Tomcat的webapps目录下,并默认会自动

在配置文件中默认设置,当接受到请求后,会匹配符合要求的Host,在配置文件中的Host只有一个,且规定了自动解压war包

操作: 

(1)切换到需要打包的目录,然后新建两个网页文件并写入内容

[root@localhost ~]#mkdir /mnt/test
[root@localhost ~]#cd /mnt/test
[root@localhost app1.2]#vim test.html
<h1> test </h1>[root@localhost app1.2]#vim test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<! DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>welcome</title>
</head>
<body>

 (2)打包成 war 包,并拷贝到网页根目录,之后不必手动解压,会自动解压

[root@localhost mnt]#jar cvf /mnt/app1.2.war *
[root@localhost mnt]#cp app1.2.war /usr/local/tomcat/webapps/
[root@localhost mnt]#ll /usr/local/tomcat/webapps/

(3)客户端浏览器测试访问

客户端浏览器:
http://172.16.12.10:8080/test/test.html
http://172.16.12.10:8080/test/test.jsp

注:

如果需要下线的话,就得同时删除 test 和 test.war 包,如果只删除 test ,那么会重启Tomcat服务会再次生成

2、Tomcat工具界面

2.1 Server Status (服务器状态)

这个页面提供了对部署在Tomcat服务器上的应用程序的管理功能,包括启动、停止、重新加载应用程序,查看应用程序的会话和JVM信息等

 可以通过浏览器访问来进行查看

但点击“Server Status”,却发现被拒绝访问

只有tomcat服务器本机访问 127.0.0.1:8080,再点击“Server Status”,输入用户名和密码后,才能看到状态页,这是由于tomcat默认的配置,只允许本机访问127.0.0.1:8080/manager/statu

2.1.1 本地登录状态页

相关指令详解:

#这些为注释的信息。它定义了Tomcat服务器中的角色(roles)和用户(users),以及这些
#用户所归属的角色。(角色的含义相当于用户组)<role rolename="tomcat"/> 
#定义了一个名为 "tomcat" 的角色,这个角色可以对应于Tomcat服务器预定义的一些权限,比如
#访问管理界面或部署应用等。<role rolename="role1"/> 
#定义了一个名为 "role1" 的自定义角色,可以根据实际需求赋予特定权限。<user username="tomcat" password="<must-be-changed>" roles="tomcat"/> 
#定义了一个用户名为 "tomcat" 的用户,并设置了初始密码(这里需要在实际使用时替换为强密码)
#该用户归属于 "tomcat" 角色,因此拥有与该角色关联的所有权限。<user username="both" password="<must-be-changed>" roles="tomcat,role1"/> 
#定义了一个用户名为 "both" 的用户,同样设置了初始密码。这个用户同时属于 "tomcat" 
#和 "role1" 两个角色,因此拥有这两个角色合并后的所有权限。

现在配置tomcat本机查看状态页的用户名和密码

[root@localhost tomcat]#pwd
/usr/local/tomcat
[root@localhost tomcat]#vim conf/tomcat-users.xml
<role rolename="manager-gui"/>
<user username="tomcat" password="123" roles="manager-gui"/>

拥有用户名和密码后,tomcat服务器本地可登录查看状态页 

2.1.2 远程登录状态页

现在想要使用远端登录状态页,还需要去修改manager/META-INF/context.xml文件,去允许远端的IP地址能够访问

[root@localhost tomcat]#pwd
/usr/local/tomcat
[root@localhost tomcat]#vim webapps/manager/META-INF/context.xml
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|172\.\d+\.\d+\.\d+" />
[root@localhost tomcat]#systemctl restart tomcat.service

 客户端测试:

注:

由于状态页比较重要,在设置登录权限时需要注意哪些地址可以访问,一般不建议开启远程登录

2.2 Manager App (管理应用程序)

这个界面提供了对部署在Tomcat服务器上的应用程序的管理功能。您可以在这里部署新的应用程序、重新加载已部署的应用程序、启动或停止应用程序、删除应用,以及查看应用程序的会话信息

通过Manager App,管理员可以执行以下操作:

  • 部署应用:上传WAR文件到Tomcat服务器,并部署为新的Web应用程序
  • 重新加载应用:无需停止整个服务器或卸载再部署,即可更新已部署应用的内容
  • 启动和停止应用:控制单个Web应用的启动与停止状态
  • 删除应用:从Tomcat服务器中移除已经部署的Web应用程序
  • 查看应用列表和状态:列出所有部署在Tomcat服务器上的Web应用程序及其当前运行状态(如是否正在运行、部署路径等信息)

2.3 Host Manager (主机管理器)

这个界面允许您管理Tomcat服务器上的虚拟主机。您可以在这里添加、删除和管理虚拟主机,以及设置虚拟主机的属性和配置

允许远程登录主机管理器:

[root@localhost tomcat]#pwd
/usr/local/tomcat
[root@localhost tomcat]#vim conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="123" roles="manager-gui,admin-gui"/>
[root@localhost tomcat]#systemctl restart tomcat

现在想要使用远端登录状态页,仍需要去修改host-manager/META-INF/context.xml文件,去允许远端的IP地址能够访问

客户端测试:

3、Context 配置

位于tomcat/conf/context.xml

Context配置文件作用:

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

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

#映射指定路径
<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来禁用

二、配置虚拟主机

[root@localhost tomcat]#pwd
/usr/local/tomcat
[root@localhost tomcat]#vim conf/server.xml</Host><Host name="www.a.com"  appBase="/mnt/a"unpackWARs="true" autoDeploy="true"></Host><Host name="www.b.com"  appBase="/mnt/b"unpackWARs="true" autoDeploy="true"></Host><Host name="www.c.com"  appBase="/mnt/c"unpackWARs="true" autoDeploy="true"></Host>
[root@localhost tomcat]#systemctl restart tomcat.service

[root@localhost ~]#mkdir -p /mnt/{a..c}/ROOT
[root@localhost ~]#echo "welcome to www.a.com" > /mnt/a//ROOT/index.html
[root@localhost ~]#echo "welcome to www.b.com" > /mnt/b//ROOT/index.html
[root@localhost ~]#echo "welcome to www.c.com" > /mnt/c//ROOT/index.html

客户端测试:

[root@localhost ~]#vim /etc/hosts
172.16.12.10   www.a.com   www.b.com   www.c.com

三、搭建 JPress 博客

1、Tomcat操作

(1)首先需要安装Tomcat,这里参考https://blog.csdn.net/m0_71815887/article/details/136382688?spm=1001.2014.3001.5502

(2)事先准备JPress包,并拷贝到规定Tomcat应用程序目录

[root@localhost ~]#cd /opt
[root@localhost opt]#cp jpress-v3.2.1.war /usr/local/tomcat/webapps/
[root@localhost webapps]#ln -s jpress-v3.2.1 jpress

2、mysql操作

(1)安装mysql数据库并启动

首先系统yum仓库的版本不够新,需要重新替换yum仓库,并安装mysql

[root@localhost ~]#cat >/etc/yum.repos.d/mysql.repo <<EOF
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
enabled=1
gpgcheck=0
EOF[root@localhost ~]#yum  install -y mysql-community-server
[root@localhost ~]#systemctl start mysqld

(3) 修改数据库密码

 yum安装的mysql是有初始密码的,现在需要修改这个初始密码

[root@localhost ~]#mysql -uroot -p

#使用grep命令,过滤出错误日志中的初始密码
[root@localhost ~]#grep password /var/log/mysqld.log

[root@localhost ~]#mysql -uroot -p"XkVKYU_08ikS"
set global validate_password_policy=0;
set global validate_password_length=1;
#修改密码策略
alter user root@'localhost' identified by 'abc123';
#重新设定密码

注:

validate_password_policy:这个参数用于指定密码验证策略的严格程度。其可选值包括0、1和2,默认值根据MySQL版本的不同可能会有所变化。值的含义如下:

  • 0:只检查密码长度。
  • 1(默认):检查密码长度以及字符种类(数字、小写字母、大写字母和特殊字符)。
  • 2:最严格的策略,除了长度和字符种类外,还增加了其他复杂度要求,例如禁止使用常见密码。

validate_password_length:设置全局密码最小长度

(4)建立数据库用户并授予权限

[root@localhost webapps]#mysql -uroot -p"abc123"
CREATE DATABASE blog;
GRANT all ON blog.* TO 'bloguser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON blog.* TO 'bloguser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;

3、浏览器访问安装

浏览器访问:
http://172.16.12.10:8080/jpress/install

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

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

相关文章

支持AUTOSAR Classic以及Adaptive平台的DEXT诊断数据库

一 DEXT、DCM、DEM和FIM的概述 DEXT&#xff08;Diagnostic Extract Template&#xff09;是AUTOSAR定义的诊断提取模板&#xff0c;用于DCM&#xff08;Diagnostics Communication Manager&#xff09;、DEM&#xff08;Diagnostics Event Manager&#xff09;和FIM&#xff…

从新能源汽车行业自动驾驶技术去看AI的发展未来趋势

自动驾驶汽车关键技术主要包括环境感知、精准定位、决策与规划、控制与执行、高精地图与车联网V2X以及自动驾驶汽车测试与验证技术等。 &#x1f413; 自动驾驶技术 这是AI在汽车行业中应用最广泛的领域之一。自动驾驶技术利用AI算法和传感器来感知环境、识别障碍物&#xff0c…

各大厂商常用的弱口令集合

Oms呼叫中心 KXTsoft2010 Glodon控制台 admin TRENDnet趋势网络摄像头 admin/admin MOBOTIX-视频监控 admin/meinsm 思科Cisco 没有原始密码, 第一次登录时需要创建 DRS admin/1234 Honeywell admin/1234 安迅士Axis root/pass, 新安迅士摄像头在用户第一登录时要求创建…

【开源】JAVA+Vue.js实现农家乐订餐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户2.2 管理员 三、系统展示四、核心代码4.1 查询菜品类型4.2 查询菜品4.3 加购菜品4.4 新增菜品收藏4.5 新增菜品留言 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的农家乐订餐系统&#xff0c…

0基础学习VR全景平台篇第143篇:限定访问功能

大家好&#xff0c;欢迎观看蛙色VR官方——后台使用系列课程&#xff01;这期&#xff0c;我们将为大家介绍如何使用限定访问功能。 一.什么是限定访问功能&#xff1f; 限定访问&#xff0c;就是可以在编辑后台设置可以访问作品的用户的类型&#xff0c;还有可以访问作品的IP…

【leetcode热题】环形链表

难度&#xff1a; 简单通过率&#xff1a; 34.9%题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个链表&#xff0c;判断链表中是否有环。 为了表示给定链表中的环&#xff0c;我们使用整数 pos 来表示链表尾连接到链表中的位置&#xff08;索…

【CSS】简单的抽屉面板展开收起自然过渡效果的css

目录 效果展示css固定梯形按钮至抽屉面板中间梯形按钮css过渡动画 效果展示 1.收起时点击蓝色梯形按钮展开 2. 展开时点击蓝色按钮收起 3.展开收起时需要过渡自然&#xff0c;有抽屉推拉效果 css 固定梯形按钮至抽屉面板中间 .toggle{ position: absolute;left:-21px;top…

pdf文件超出上传大小怎么压缩?值得学习的几个方法

平时我们在使用pdf文件的时候&#xff0c;不管是上传还是进行存储&#xff0c;都会面临pdf太大的情况&#xff0c;尤其是当我们需要把pdf文件上传到一些平台上去的时候&#xff0c;那么pdf怎么压缩的小一点呢&#xff1f;为了解决这个问题&#xff0c;可以通过一些软件将pdf压缩…

关于并发编程和并行

目录 前言: 并发编程: 1.并发编程的定义: 2. 并发编程的目的 2.1提高性能&#xff1a; 2.2增强响应性&#xff1a; 2.3资源利用&#xff1a; 3. 并发编程的实现方式 3.1多线程&#xff1a; 3.2多进程&#xff1a; 3.3异步编程&#xff1a; 3.4协程&#xff1a; 4. …

【JAVA/Web】数组转对象

一. 需求 数组转对象 数组结构 List:[{id:1,code:phone,value:10101001},{id:2,code:name,value:admin},{id:3,code:address,value:XXXXXX} ]二. 数组转对象&#xff08;键值对映射关系&#xff09; 对象结构 object:{phone:10101001,name:admin,address:XXXXXX }2.1 Java…

桌搭和DIY,或许攒机才能满足宅男们的情绪价值

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 场地支持 / 声湃轩北京录音间 最近几年&#xff0c;人们突然对品牌机没有那么感兴趣了&#xff0c;反而重新开始热衷于自己动手攒机。这…

Android14音频进阶:AudioTrack如何拿到AudioFlinger创建的匿名共享内存(六十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

阿里云域名在腾讯云处做接入备案的操作流程

根据注册的相关规定&#xff0c;“谁连接谁负责”&#xff0c;所以你使用的服务器都会向服务器注册。 例如&#xff0c;您在腾讯云上购买了域名并成功注册&#xff0c;但现在切换到阿里云服务器&#xff0c;那么访问注册就必须在阿里云中进行&#xff08;PS&#xff1a;具体请参…

Jenkins集成SonarQube

文章目录 SonarQube端开启权限验证生成Jenkins登录的token Jenkins端安装SonarQube Scanner插件配置SonarQube凭证配置Jenkins的Sonar Qube信息配置SonarQube Scanner 配置项目的SonarScannerJAVA项目C#项目 效果 SonarQube端 开启权限验证 生成Jenkins登录的token 生成后记得…

如何在Linux用Docker部署MySQL数据库并远程访问本地数据库

文章目录 前言1 .安装Docker2. 使用Docker拉取MySQL镜像3. 创建并启动MySQL容器4. 本地连接测试4.1 安装MySQL图形化界面工具4.2 使用MySQL Workbench连接测试 5. 公网远程访问本地MySQL5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定TCP地址远程访问 前言 本文主…

RabbitMQ理论:RabbitMQ学习思维导图

参考资料 RabbitMQ五种消息模型

信号隔离器4-20mA一进二出直流电流电压变送模拟量输出0-10V泰华

品牌&#xff1a;泰华仪表 您需要一款这样的隔离器&#xff0c;转换精度高&#xff0c;响应速度快&#xff0c;耐压隔离高&#xff0c;三端隔离技术&#xff0c;低功耗。 DC24V供电&#xff0c;为现场的变送器提供隔离配电电源&#xff0c;同时将变送器产生的电流信号从现场…

Springboot 打成jar包后 结合idea remote 远程debug

1、将测试demo打成jar 2、 将jar放到某个目录下&#xff0c;并运行起来 java -jar -agentlib:jdwptransportdt_socket,servery,suspendn,address*:10087 base_admin-1.0.0.jar 3、在Idea中编辑Remote调试 4、在浏览器中打开刚启动的jar&#xff0c;比如我的项目地址&#x…

在NAT模式下,局域网内的其他电脑要访问使用NAT模式的虚拟机或设备

在NAT模式下&#xff0c;局域网内的其他电脑要访问使用NAT模式的虚拟机或设备 可以通过以下几种方式&#xff1a; 1、端口映射&#xff1a;在NAT模式下&#xff0c;你可以配置端口映射&#xff0c;类似于Docker中的端口映射。这样&#xff0c;局域网内的其他电脑就可以通过特…

Galxe:被低估的加密市场掘金地+Web3门户

在BTC ETF获得 SEC 的批准之后&#xff0c;机构资金大量买入推动BTC上涨&#xff0c;并带动整个加密市场回暖进入牛市。那么&#xff0c;对于习惯了熊市保守心态的投资者来说&#xff0c;接下来如何转换策略适应牛市&#xff1f;对即将进场的Web2用户来说&#xff0c;如何玩赚W…