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默认管理页面
这个页面网页代码文件是放置在: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解析出来的内容,页面是难看一丢丢,但是可以表达意思就好了难看的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 &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文件,默认此文件夹下面没有任何文件

	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
在这里插入图片描述

posted @ 2019-11-06 17:36  避凉闲庭  阅读(280)  评论(0编辑  收藏  举报