Tomcat实验一 |
通过实验学习Tomcat
- ①8005端口
- ②虚拟主机实验
- ③为虚拟主机配置一个context
(1)8005端口 |
(1)Tomcat的8005端口说明:8005是Tomcat的管理端口,默认监听在127.0.0.1上,若连接此端口直接shutdown可以关闭Tomcat服务。
(2)Tomcat的8005端口处理:建议禁用8005端口的管理功能。
(3)禁用8005端口的措施:
- ①改端口:可以连接到Tomcat本机,该端口不适用,也有将端口改为负数。
- ②将shutdown改为一串猜不到的字符串。
字符串的获取:
[root@centos7-17 tomcat]# md5sum conf/server.xml
a00078b6cbeb9b3c169900257e788901 conf/server.xml
(4)示例:
[root@centos7-17 tomcat]# telnet 127.0.0.1 8005
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SHUTDOWN
==>使用Telnet命令连接本机8005端口,输入SHUTDOWN直接将Tomcat进程关闭。
(2)配置WEB管理页面 |
(1)点击缺省主页的Manager APP和Host Manager,将报403错误(访问拒绝)
- server status:server状态管理
- Manager APP:WEB部署的站点管理
- host manager:虚拟主机管理
- 管理和显示当前Tomcat状态:一般只配置再内网某主机显示
(2)Tomcat中使用的user和roles,其中roles代表权限,如果一个user具有多个roles,则user具有的权限为各roles的累加。
(3)赋予tomcat用户管理Manager APP和Host Manager权限的配置 ``` ```
(4)赋予tomcat用户管理Manager APP和Host Manager权限的配置步骤:
-
①修改配置文件:#vim conf/tomcat-users.xml
-
②修改context.xml文件
]# vim webapps/manager/META-INF/context.xml
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> #默认允许主机
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.*" /> #添加允许主机(NAT模式 Windows ip 192.168.38.1)
]# vim webapps//host-manager/META-INF/context.xml
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.*" />
- ③配置完,重启Tomcat
(5)测试:
(3)配置虚拟主机 |
(2)准备虚拟主机的目录和JSP文件:
[root@centos7-17 ~]# mkdir /data/webapp/ROOT -pv
mkdir: created directory ‘/data/webapp’
mkdir: created directory ‘/data/webapp/ROOT’
[root@centos7-17 ~]# cat /data/webapp/ROOT/index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jsp例子</title>
</head>
<body>
后面的内容是服务器端动态生成字符串,最后拼接在一起
<%
out.println("hello jsp");
%>
<br>
<%=request.getRequestURL()%>
</body>
</html>
(3)修改Tomcat配置文件,添加虚拟主机:
<Host name="node1.zcpzcp.com" appBase="/data/webapp/"
unpackWARs="true" autoDeploy="true">
</Host>
[root@centos7-17 tomcat]# vim conf/server.xml
....
</Host> #添加至<Host>平级就行
<Host name="node1.zcpzcp.com" appBase="/data/webapp/"
unpackWARs="true" autoDeploy="true">
</Host>
- 配置完成后,重启Tomcat
(4)Windows配置node1.zcpzcp.com的解析:
C:\Windows\System32\drivers\etc
192.168.38.17 node1.zcpzcp.com
(5)访问:http://node1.zcpzcp.com:8080/
(6)访问:
- http://192.168.38.17:8080/ --> 默认虚拟主机响应
- http://node1.zcpzcp.com:8080/ --> 配置的node1…虚拟主机响应
(4)配置的虚拟主机配置context |
(1)context 说明:
<Context path="/test" docBase="/data/test" reloadable="" />
docBase=" " --> 此路径是相对于当前虚拟主机本地文件路径
path="/test" --> 相对于当前虚拟主机的URL,那么访问:node1.zcpzcp.com/test
reloadable --> 直接配置为false。
若为true,将实时扫描当前context下的WEN-INF,META-INF的配置和类,实时重载应用,因此繁忙的系统,千万不能打开此选项,直接设置为false。
==>因此如果部署的test目录在/data/webapp/目录下的话:
docBase="/data/test" = docBase="test"
因为node1.zcpzcp.com的虚拟主机目录为/data/webapp/ROOT/
(2)为node1.zcpzcp.com虚拟主机添加一个context:
- 修改配置文件:conf/server.xml
<Host name="node1.zcpzcp.com" appBase="/data/webapp/"
unpackWARs="true" autoDeploy="true">
<Context path="/test" docBase="test" reloadable="false" /> #新增的context
</Host>
[root@centos7-17 tomcat]# vim conf/server.xml
<Context path="/test" docBase="test" reloadable="false" />
- 修改server.xml配置,重启Tomcat
(3)构建目录:
[root@centos7-17 webapp]# ll
drwxr-xr-x 2 root root 23 Nov 21 16:42 myapp1 #打算test的不同版本,因此test使用软链接实现
drwxr-xr-x 2 root root 23 Nov 21 16:11 ROOT
lrwxrwxrwx 1 root root 7 Nov 21 16:42 test -> myapp1/
[root@centos7-17 webapp]# cat test/index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jsp例子</title>
</head>
<body>
version:1 #注:这一行表示新加的v1版本
后面的内容是服务器端动态生成字符串,最后拼接在一起
<%
out.println("hello jsp");
%>
<br>
<%=request.getRequestURL()%>
</body>
</html>
(4)测试:http://node1.zcpzcp.com:8080/test/