目录
一、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所用到的打包格式
.war | WebApp打包,类zip格式文件,通常包括一个应用的所有资源,比如 jsp、html、配置文件等 |
---|---|
.jar | EJB类文件的打包压缩类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 "%r" %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