tomcat--应用部署

tomcat根目录结构

  • Tomcat中默认网站根目录是/usr/local/apache-tomcat-8.5.100/webapps/
  • 在Tomcat的webapps目录中,有个非常特殊的目录ROOT,它就是网站默认根目录。
  • 将eshop解压后的文件放到这个/usr/local/apache-tomcat-8.5.100/webapps/ROOT中。
  • bbs解压后文件都放在/usr/local/apache-tomcat-8.5.100/webapps/forum目录下。
  • /usr/local/apache-tomcat-8.5.100/webapps下面的每个目录都对应一个Web应用,即WebApp

http://localhost/ 对应于eshop的应用WebApp,即/usr/local/apache-tomcat-8.5.100/webapps/ROOT/目录,
http://localhost/docs/ 对应于forum的应用WebApp,即/usr/local/apache-tomcat-8.5.100/webapps/docs/ 

  • 如果同时存在/usr/local/apache-tomcat-8.5.100/webapps/ROOT/forum ,仍以 /usr/local/apache-tomcat-8.5.100/webapps/forum/ 优先生效
  • 每一个虚拟主机都可以使用appBase指令配置自己的站点目录,使用appBase目录下的ROOT目录作为主站目录

案例

[root@localhost webapps]# cat  ROOT/index.html
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>tomcat</title>
</head>
<h1>给孩子一个运维的工作</h1>

JSP WebApp目录结构 

/usr/local/apache-tomcat-8.5.100/webapps下面的每个目录对应的WebApp,可能有以下子目录,但下面子目录是非必须的

主页配置:默认按以下顺序查找主页文件 index.html,index.htm、index.jsp

WEB-INF/:当前目录WebApp的私有资源路径,通常存储当前应用使用的web.xml和context.xml

配置文件

META-INF/:类似于WEB-INF,也是私有资源的配置信息,和WEB-INF/目录一样浏览器无法访问

classes/:类文件,当前webapp需要的类

lib/:当前应用依赖的jar包 

主页配置

 全局配置实现修改默认主页文件

默认情况下 tomcat 会在/usr/local/apache-tomcat-8.5.100/webapps/ROOT/目录下按以下次序查找文件,找到第一个则进行显示

可以通过修改 在/usr/local/apache-tomcat-8.5.100/conf/web.xml 中的下面 <welcome-file-list>标签 内容修改默认页文件

[root@localhost ROOT]# cat index.jsp 
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>tomcat test</title>
</head>
<body>
<h1> Tomcat Website </h1>
<div>On  <%=request.getServerName() %></div>
<div><%=request.getLocalAddr() + ":" + request.getLocalPort() %></div>
<div>SessionID = <span style="color:blue"><%=session.getId() %></span></div>
<%=new Date()%>
</body>
</html

WebApp的专用配置文件 

 cp -a ROOT/WEB-INF/  xf/

chown -R tomcat.tomcat webapps/xf/

 

 配置规则

  •  webApp的专有配置优先于系统的全局配置
  • 修改系统的全局配置文件,需要重新启动服务生效
  • 修改 webApp的专有配置,无需重启即可生效

 应用部署实现

WebApp应用的归档格式

  • .war:WebApp打包,类zip格式文件,通常包括一个应用的所有资源,比如jsp,html,配置文件等
  • .jar:EJB类文件的打包压缩类zip格式文件,,包括很多的class文件
  • .rar:资源适配器类打包文件,目前已不常用
  • .ear:企业级WebApp打包,目前已不常用

war格式,部署到Tomcat的webapps目录下,并默认会自动解包展开和部署上线。

部署方式

  • 部署Deploy:将webapp的源文件放置到目标目录,通过web.xml和context.xml文件中配置的路径就可以访问该webapp,通过类加载器加载其特有的类和依赖的类到JVM上,即:最终用户可以通过浏览器访问该应用

自动部署:Tomcat一旦发现多了一个web应用APP.war包,默认会自动把它解压缩,加载并
启动起来

手动部署
冷部署:将webapp放到指定目录,才去启动Tomcat服务
热部署:Tomcat服务不停止,需要依赖manager、ant脚本、tcd(tomcat client
deployer)等工具

  • 反部署undeploy:停止webapp运行,并从JVM上清除已经加载的类,从Tomcat应用目录中移除部署的文件
  • 启动start:是webapp能够访问
  • 停止stop:webapp不能访问,不能提供服务,但是JVM并不清除它
 手动应用部署
部署主页目录下的应用WebApp
[root@localhost apache-tomcat-8.5.100]# cat webapps/ROOT/test.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>
 部署一个子目录的应用WebApp

mkdir webapps/xf

cp -p webapps/ROOT/test.jsp webapps/xf/

chown -R tomcat.tomcat webapps/xf/

自动的应用部署war包

制作应用的war包文件

mkdir /data/app

echo "1234567" > /data/app/test.html

cp webapps/ROOT/test.jsp  /data/app/

cd /data/app/

jar cvf /data/app.war *

cp /data/app.war /usr/local/apache-tomcat-8.5.100/webapps/

 

 部署基于JAVA的博客系统 JPress

 准备java包

ln -s webapps/jpress-v4.0.7 webapps/jpress 

 安装数据库

 yum install -y mysql-server         

systemctl enable --now mysqld

 

 图片上传位置

 基于WEB的管理实现应用部署

 实现WEB的管理Server status和Manager APP

在 /usr/local/apache-tomcat-8.5.100/conf/tomcat-users.xml下添加

  <role rolename="manager-gui"/>
  <user username="tomcat" password="123456" roles="manager-gui"/>

 本机访问

 实现外部访问

/usr/local/apache-tomcat-8.5.100/webapps/manager/META-INF/context.xml

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.148\.\d+" />添加ip “.”要进行转义,d+匹配全部

实现WEB的管理Host Manager

 在 /usr/local/apache-tomcat-8.5.100/conf/tomcat-users.xml下添加

<role rolename="admin-gui"/>
<user username="tomcat" password="123456" roles="admin-gui"/>

 本机访问

 外部访问

在/usr/local/apache-tomcat-8.5.100/webapps/host-manager/META-INF/context.xml

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.148\.\d+" />

基于WEB应用程序管理器实现APP的部署 

可以启动、停止、重加载、反部署、清理过期session
Deploy 可以热部署,也可以部署war文件

 

指定目录部署软件

Context Path (required): 指定通过浏览器访问的虚拟目录
WAR or Directory URL:指定真正存放文件的实际磁盘目录路径

mkdir /data/app

 部署

 查看

 访问

 

 部署war包文件

部署

查看

 访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值