Tomcat部署项目的三个方法
所需软件安装
要想在Tomcat中部署项目前提是先要搭建好Tomcat,搭建Tomcat就离不开以下软件包的安装配置,本次演示使用Linux平台
1.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命令进行安装,安装后就可以使用,无需配置环境变量
2.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文件
3.部署Tomcat
一般下载的Tomcat安装包只需要使用tar解压或者win系统中双击安装、linux rpm包安装即可,无需其他配置;详细的Tomcat部署方法可以访问:Linux平台:https://www.cnblogs.com/kuiyajia/p/11670756.html windows平台:https://www.cnblogs.com/kuiyajia/articles/11576437.html
4.启动Tomcat
1.方法一:使用自带的启动文件启动
启动Tomcat:
jia@test:~$ cd /opt/apache-tomcat-9.0.26/bin/ //进入Tomcat安装目录下的bin目录
jia@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
jia@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是否启动成功:
jia@test:/opt/apache-tomcat-9.0.26/bin$ ps aux | grep tomcat //查看相关进程 jia 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.apa che.catalina.startup.Bootstrap start //此输出表示tomcat进程正常运行
jia 2393 0.0 0.2 13136 1000 pts/0 S+ 07:52 0:00 grep --color=auto tomcat
jia@test:/opt/apache-tomcat-9.0.26/bin$ netstat -anpt | grep 8080 //查看相关端口是否运行,注意:Tomcat默认端口是8080
tcp6 0 0 :::8080 :::* LISTEN 2014/java //显示LISTEN表示侦听状态
关闭Tomcat:
jia@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
jia@test:/opt/apache-tomcat-9.0.26/bin$ ps aux | grep tomcat //查看相关进程
jia 2433 0.0 0.2 13136 1056 pts/0 S+ 08:01 0:00 grep --color=auto tomcat
jia@test:/opt/apache-tomcat-9.0.26/bin$ sudo netstat -anpt | grep 8080 //查看相关端口
2.方法二:制作启动脚本
//启动脚本内容
#!/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文件下
jia@test:~$ sudo mv tomcat /etc/init.d/ //注意一定要使用root权限
jia@test:/etc/init.d$ sudo chmod o+x tomcat //设置启动脚本执行权限
jia@test:/etc/init.d$ sudo chkconfig --add tomcat //添加到系统服务
//测试是否可以启动
jia@test:/etc/init.d$ service tomcat start //启动Tomcat
jia@test:/etc/init.d$ service tomcat stop //停止Tomcat
jia@test:/etc/init.d$ service tomcat restart //重新启动Tomcat
一、利用自带的Webapps文件部署项目
Tomcat默认自带有一个Tomcat的页面,其项目Web包就是防止再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主页:
//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
如下图所示:
二、修改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文件,默认此文件夹下面没有任何文件
jia@test:/opt/apache-tomcat-9.0.26/conf/Catalina/localhost$ pwd
/opt/apache-tomcat-9.0.26/conf/Catalina/localhost //进入要配置的目录
jia@test:/opt/apache-tomcat-9.0.26/conf/Catalina/localhost$ ls
jia@test:/opt/apache-tomcat-9.0.26/conf/Catalina/localhost$ //默认此目录为空
此目录为自定义目录,需自行创建*.xml配置文件,配置文件名称就是web访问目录即虚拟目录
jia@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
效果如图所示:
[【华为云-精选30+云服务产品助力好友上云】](https://activity.huaweicloud.com/1212_promotion/index.html?fromacct=c76cea9f-f106-4938-a195-0df9b712c327&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905adp=1.3.1.1&adc=2.2) ![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/9c6d7e36ee7a0f9ed3c685b1d634a6c7.png)