将应用部署到Tomcat根目录

将应用部署到Tomcat根目录的目的是可以通过“http://[ip]:[port]”直接访问应用,而不是使用“http://[ip]:[port]/[appName]”上下文路径进行访问。

 
方法一:(最简单直接的方法)
    删除原 webapps/ROOT 目录下的所有文件,将应用下的所有文件和文件夹复制到ROOT文件夹下。
 
方法二:(推荐使用的方法,便于备份管理)
    删除原 webapps/ROOT 目录下的所有文件,修改文件“conf/server.xml”,在Host节点下增加如下Context的内容配置:
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    ......
    <Context path="" docBase="/opt/tomcat/ROOT.war"></Context>
</Host>

注意:

    1)path 的值设置为空;
    2)应用不要放到tomcat的webapps目录下(如上述配置是放到自定义的文件夹myapps内的),否则访问时路径很有问题;
    3)docBase指定到绝对路径。
    如此设置后重启tomcat,如果docBase指向的是war文件,会自动将war解压到 webapps/ROOT 目录;如果docBase指向的是应用已解压好的目录,如 docBase=" /opt/tomcat/",tomcat不会生成webapps/ROOT目录(这种情况下之前可以不用删除webapps/ROOT目录,但webapps/ROOT目录内的内容是无法访问的),访问时将直接使用docBase指定的目录。
 
方法三: (操作简单,但需要进入非常用目录)
    与方法二类似,但不是修改全局配置文件“conf/server.xml”,而是在“conf/Catalina/localhost”目录下增加新的文件" ROOT.xml"(注意大小写哦),文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="C:/apache-tomcat-6.0.32/myapps/bc.war"></Context>

 方法四:shell脚本(方法一的自动化)

pid=`ps -ef | grep "/app/toumi-dte-monitor-dev/" | grep -v 'grep' | awk '{print $2}'`

if [ -z "$pid"];then

echo 'has no toumi-dte-monitor!'

else

kill -9 "$pid"

echo 'kill running toumi-dte-monitor!'

fi 

rm -r /home/yxgly/toumi-dte-monitor-dev/*

unzip /home/yxgly/toumi-dte-monitor.war -d /home/yxgly/toumi-dte-monitor-dev/

rm -r /app/toumi-dte-monitor-dev/webapps/ROOT/*

cp -r /home/yxgly/toumi-dte-monitor-dev/* /app/toumi-dte-monitor-dev/webapps/ROOT/

bash /app/toumi-dte-monitor-dev/bin/startup.sh

 

猜你喜欢

转载自gaoke.iteye.com/blog/2271383
今日推荐