Tomcat部署项目的三个方法
目录
所需软件安装
要想在Tomcat中部署项目前提是先要搭建好Tomcat,搭建Tomcat就离不开以下软件包的安装配置,本次演示使用Linux平台
JDK软件包
JDK是一切java应用程序的基础,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class(类)。JDK是开发java程序的一套东西,tomcat就是开发出来的java程序。
JDK软件包下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
JDK软件包一般分为这几种格式的软件包:*.tar.gz *.exe *.rpm
.tar.gz:这种软件包只需要解包然后配置环境变量即可,此安装包多数用于Linux系统
.exe :这种是Windows平台的安装包,需先进行正确安装再配置环境变量
.rpm :RPM安装包用于linux平台,需使用yum或rpm命令进行安装,安装后就可以使用,无需配置环境变量
JDK环境变量配置
要想正常使用java命令需要配置以下环境变量,一般只需配置再/etc/profile文件中即可:
export JAVA_HOME=JDK安装路径 //指定JAVA的家目录
export PATH=$JAVA_HOME/bin:$PATH //指定JDK命令的搜索目录,即JDK家目录中的bin目录
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar //指定类搜索目录,一般指定dt.jar和tools.jar这两个jar文件
部署Tomcat
一般下载的Tomcat安装包只需要使用tar解压或者win系统中双击安装、linux rpm包安装即可,无需其他配置;详细的Tomcat部署方法可以访问下面我的博客,可以按照步骤进行简单安装:
Linux平台:https://www.cnblogs.com/kuiyaroot/p/11670756.html
windows平台:https://www.cnblogs.com/kuiyaroot/articles/11576437.html
启动Tomcat
启动和关闭一个程序一般都会有两种方式进行操作:
第一种就是利用程序自带的*.sh或者*.bat的文件进行操作;
第二种就是编写启动脚本,然后加入系统应用当中,然后使用systemctl或者server进行启动;
使用startup.sh和shutdown.sh这两个文件进行启动
启动Tomcat:
root@test:~$ cd /opt/apache-tomcat-9.0.26/bin/ //进入Tomcat安装目录下的bin目录
root@test:/opt/apache-tomcat-9.0.26/bin$ ls //列出所有文件
bootstrap.jar ciphers.sh daemon.sh setclasspath.bat startup.sh version.bat
catalina.bat commons-daemon.jar digest.bat setclasspath.sh tomcat-juli.jar version.sh
catalina.sh commons-daemon-native.tar.gz digest.sh shutdown.bat tomcat-native.tar.gz
catalina-tasks.xml configtest.bat makebase.bat shutdown.sh tool-wrapper.bat
ciphers.bat configtest.sh makebase.sh startup.bat tool-wrapper.sh
root@test:/opt/apache-tomcat-9.0.26/bin$ ./startup.sh //执行启动文件
Using CATALINA_BASE: /opt/apache-tomcat-9.0.26
Using CATALINA_HOME: /opt/apache-tomcat-9.0.26
Using CATALINA_TMPDIR: /opt/apache-tomcat-9.0.26/temp
Using JRE_HOME: /opt/jdk1.8.0_221/
Using CLASSPATH: /opt/apache-tomcat-9.0.26/bin/bootstrap.jar:/opt/apache-tomcat-9.0.26/bin/tomcat-juli.jar
Tomcat started. //启动成功
验证Tomcat是否启动成功:
root@test:/opt/apache-tomcat-9.0.26/bin$ ps aux | grep tomcat //查看相关进程
root 2014 0.2 21.9 2585060 88576 pts/0 Sl 06:35 0:12 /opt/jdk1.8.0_221//bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-9.0.26/conf/logging.properties-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /opt/apache-tomcat-9.0.26/bin/bootstrap.jar:/opt/apache-tomcat-9.0.26/bin/tomcat-juli.jar-Dcatalina.base=/opt/apache-tomcat-9.0.26 -Dcatalina.home=/opt/apache-tomcat-9.0.26 -Djava.io.tmpdir=/opt/apache-tomcat-9.0.26/temp org.apache.catalina.startup.Bootstrap start
//此输出表示tomcat进程正常运行
root 2393 0.0 0.2 13136 1000 pts/0 S+ 07:52 0:00 grep --color=auto tomcat
root@test:/opt/apache-tomcat-9.0.26/bin$ netstat -anpt | grep 8080 //查看相关端口是否运行,注意:Tomcat默认端口是8080
tcp6 0 0 :::8080 :::* LISTEN 2014/java //显示LISTEN表示侦听状态
关闭Tomcat:
root@test:/opt/apache-tomcat-9.0.26/bin$ ./shutdown.sh //执行关闭文件
Using CATALINA_BASE: /opt/apache-tomcat-9.0.26
Using CATALINA_HOME: /opt/apache-tomcat-9.0.26
Using CATALINA_TMPDIR: /opt/apache-tomcat-9.0.26/temp
Using JRE_HOME: /opt/jdk1.8.0_221/
Using CLASSPATH: /opt/apache-tomcat-9.0.26/bin/bootstrap.jar:/opt/apache-tomcat-9.0.26/bin/tomcat-juli.jar
root@test:/opt/apache-tomcat-9.0.26/bin$ ps aux | grep tomcat //查看相关进程
root 2433 0.0 0.2 13136 1056 pts/0 S+ 08:01 0:00 grep --color=auto tomcat
root@test:/opt/apache-tomcat-9.0.26/bin$ sudo netstat -anpt | grep 8080 //查看相关端口
制作系统启动脚本
//启动脚本内容:
#!/bin/bash
# description: Tomcat9 Start Stop Restart //脚本描述
# processname: tomcat9 //进程名称
# chkconfig: 234 20 80 //启动和关闭顺序
CATALINA_HOME=Tomcat解压路径 //Tomcat安装路径
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
*)
echo 'please use : tomcat {start | stop | restart}'
;;
esac
exit 0
//将Tomcat启动脚本文件移动至init.d文件下 root@test:~$ sudo mv tomcat /etc/init.d/ //注意一定要使用root权限j
root@test:/etc/init.d$ sudo chmod o+x tomcat //设置启动脚本执行权限
root@test:/etc/init.d$ sudo chkconfig --add tomcat //添加到系统服务
//测试是否可以启动
root@test:/etc/init.d$ service tomcat start //启动Tomcat
root@test:/etc/init.d$ service tomcat stop //停止Tomcat
root@test:/etc/init.d$ service tomcat restart //重新启动Tomcat
利用自带的Webapps文件部署项目
Tomcat默认自带有一个Tomcat的页面,其项目Web包就是防止再Tomcat中Webapps里面的ROOT目录中。如图所示:
这是Tomcat自带的管理页面,也是默认的访问的到的页面。
这个页面网页代码文件是放置在:Tomcat根目录下webapps的ROOT目录
ROOT目录展示,自带项目包:
root@test:/opt/apache-tomcat-9.0.26/webapps/ROOT# ls //列出目录中文件
asf-logo-wide.svg bg-middle.png bg-upper.png index.jsp tomcat.css tomcat.png tomcat.svg
bg-button.png bg-nav.png favicon.ico RELEASE-NOTES.txt tomcat.gif tomcat-power.gif WEB-INF
以此类推,可以得出我们直接把项目包放到webapps目录下就可以直接访问使用了
下面是我写的一个简单的html主页:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>避凉闲庭</title>
</head>
<body>
<h1>这是直接将项目包放到webapps目录的项目</h1>
<h2>放到这个目录就可以直接访问了呦!!!</h2>
</body>
</html>
//进入Webapps目录
root@test:/opt/apache-tomcat-9.0.26/webapps# pwd
/opt/apache-tomcat-9.0.26/webapps
//创建项目包存放目录
root@test:/opt/apache-tomcat-9.0.26/webapps# mkdir test
//放置项目包
root@test:/opt/apache-tomcat-9.0.26/webapps/test# ls
index.html \\将自己写的代码放到这个目录就可以进行解析了
//测试访问地址:http://服务器IP:8080/test
下图是我写的html解析出来的内容,页面是难看一丢丢,但是可以表达意思就好了
修改Server.xml配置文件进行项目映射
修改Tomcat根目录下面conf/server.xml文件,在HOST标签中添加下面一行内容
<Context path="" docbase="" reloadable="" debug="" crosscontext="" />
docBase 是指定项目包的存放路径
path 是指定WEB访问目录的,也就是虚拟目录
reloadable 是否自动加载项目包中web.xml和class文件,值为:true和fales
debug 调试模式,等级为0-9
crosscontext 是否共用一个session,值为true和fales
又到了我写HTML代码的时刻了:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"><title>避凉闲庭</title>
</head>
<body>
<h1>这是利用修改server.xml文件实现的</h1>
<h2>在< Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">此标签中添加下面标签</h2>
<h3><Context path="" docbase="" reloadable="" debug="" crosscontext="" />
</h3>
</body>
</html>
//进入conf目录
root@test:/opt/apache-tomcat-9.0.26/conf# ls //列出conf下的所有文件
Catalina context.xml logging.properties tomcat-users.xsd
catalina.policy jaspic-providers.xml server.xml web.xml
catalina.properties jaspic-providers.xsd tomcat-users.xml
//修改server.xml文件
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context docBase="/opt/test1" path="test1" reloadable="true" /> //添加此行,我把项目包放到了/opt/目录下
<!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html -->
<!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> -->
<!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
</Host>
/修改完成后需要重新启动Tomcat
root@test:/opt/apache-tomcat-9.0.26/bin# ./shutdown.sh //关闭Tomcat服务
root@test:/opt/apache-tomcat-9.0.26/bin# ./startup.sh //启动Tomcat服务
测试访问地址:http://服务器IP:8080/test1
自定义项目配置
在conf/Catalina/localhost文件夹下添加xml文件,默认此文件夹下面没有任何文件
root@/opt/apache-tomcat-9.0.26/conf/Catalina/localhost$ pwd
/opt/apache-tomcat-9.0.26/conf/Catalina/localhost //进入要配置的目录
root@test:/opt/apache-tomcat-9.0.26/conf/Catalina/localhost$ ls
root@test:/opt/apache-tomcat-9.0.26/conf/Catalina/localhost$ //默认此目录为空
此目录为自定义目录,需自行创建*.xml配置文件,配置文件名称就是web访问目录即虚拟目录
root@test:/opt/apache-tomcat-9.0.26/conf/Catalina/localhost$ touch test2.xml //创建XML配置文件
配置文件需要输入的内容
<?xml version='1.0' encoding='utf-8' ?> //设置版本信息和字符编码
<context path="" docBase="" debug="" privileged="" reloadable="" /> //设置项目存放以及配置信息
下面是简单写的一个HTML代码,充当项目吧!
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>避凉闲庭</title></head>
<body>
<h1>这是自定义设置的xml</h1>
<h2>在新创建的XML文件里面添加下面标签</h2>
<h3> <\?xml version='1.0' encoding='utf-8' ?> <\context path="" docBase="" debug="" privileged="" reloadable="" /></h3>
</body>
</html>
配置文件内容
root@test:/opt/apache-tomcat-9.0.26/conf/Catalina/localhost# cat test2.xml //列出文件内容
<?xml version='1.0' encoding='utf-8' ?>
<Context docBase="/opt/test" reloadable="true" />
创建完成后需要重新启动Tomcat
root@test:/opt/apache-tomcat-9.0.26/bin# ./shutdown.sh //关闭Tomcat服务
root@test:/opt/apache-tomcat-9.0.26/bin# ./startup.sh //启动Tomcat服务
测试访问地址:http://服务器IP:8080/test2