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 &quot;%r&quot; %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

   效果如图所示:

原文地址:https://www.cnblogs.com/blxt/p/11675984.html