zoukankan      html  css  js  c++  java
  • tomcat war包部署

    平常的开发我们都是通过IDE进行项目的部署,但有时候我们不得不进行手工部署(例如在Server上)。

    手工部署分为以下几步:

    第1步: 用maven打war包 (假如得到的war包名为: appkit-web.war)

    mvn package

    如果想打包过程中跳过测试,采用以下命令:

    mvn package -Dmaven.test.skip=ture

    第2步: 把war包拷贝到tomcat安装的webapps目录下

    cp target/appkit-web.war ~/software/apache-tomcat-7.0.54/webapps/

    第3步: 启动tomcat (我的tomcat的根目录为:/Users/aborn/software/apache-tomcat-7.0.54)

    ./bin/catalina.sh run

    然后在浏览器中打开 http://localhost:8080/appkit-web/index.html

    这里有个问题,它默认根目录是要加项目名的,如上加了appkit-web, 这样有些资源文件加载不出来(因为资源文件是以根目录为相对路径)。

    要想修改这个根目录,只要修改Tomcat的server.xml配置文件(它在 conf/server.xml)

    在<Host>与</Host>之间加上以下这句话

    <Context path="/" docBase="appkit-web" debug="0" privileged="true"/>这个配置的path指的是根目录,docBase指的是war名。

    这样只要在浏览器上打开:http://localhost:8080/index.html 就行了。

        <!-- Tomcat Manager Context --> 
         <Context path="/manager" docBase="manager" debug="0"privileged="true"/> 
        path="" 为部署后运行的url路径,docBase为你的war的文件名。 第一次运行的时候,tomcat会自动解压war,生成path指定名称的网站。

        这里docBase中的"manager"就表示war文件名称为“manager.war"

    修改server.xml在tomcat下部署多个WEB工程  

    第一步:

    server.xml 修改如下:

    <Host name="localhost"  appBase="WebRoot" 
    unpackWARs="true" autoDeploy="true" 
               xmlValidation="false" xmlNamespaceAware="false"> 
    <Context path=""  docBase="F:myeclipse8work esetWebRoot"
    workDir="F:java omcat-work" reloadable="true"> 
    </Context> 
    </Host>
    <Host name="zhangda"  appBase="WebRoot" 
    unpackWARs="true" autoDeploy="true" 
               xmlValidation="false" xmlNamespaceAware="false"> 
    <Context path=""  docBase="F:myeclipse8workhibernateWebRoot"
    workDir="F:java omcat-work2" reloadable="true"> 
    </Context> 
    </Host>   

    wordDir  是设置不同项目的缓存目录,不同的项目设置不同缓存目录。
    第二步:

     在C:WindowsSystem32driversetc下找到hosts文件,修改如下内容:

    127.0.0.1   localhost

    127.0.0.1  zhangda

    去掉前面的“#”。

    第三步:

    在浏览器输入:http://localhost:8080 可以访问  F:myeclipse8work esetWebRoot  内容。

    在浏览器输入:http://zhangda:8080 可以访问 F:myeclipse8workhibernateWebRoot 内容。

    tomcat server.xml配置

    一、修改端口
    Tomcat默认的WEB端口为8080,我一般喜欢把它改成80,当然这是完全没有必要的
    <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    注意是修改HTTP协议的,也就是protocol="HTTP/1.1"的,不是其他的。
    二、增加虚拟目录
    1、最简单的方式:直接把JavaEE网站放在$CATALINA_HOME/webapps目录下了,然后通过http://localhost/WebName,WebName为网站的目录名
    2、自定义:把网站放在其它的目录下,比如放在/var/www/webapp目录下,那么就要修改server.xml了。
    在</Host>前增加以下内容即可:
    <Context path="/SpringMVC" docBase="/var/www/webapp/SpringMVC" workDir="/var/www/webtmp/SpringMVC" debug="5" reloadable="false" crossContext="true" />
    则可以通过http://localhost/SpringMVC访问了,也就是在主机名为localhost中增加了一个名为SpringMVC的虚拟目录了,当然,这里的名字完全依个人而定的。
    三、增加虚拟主机
    其实这才是本文要说的重点,也就是本文开头说的那种案例。我们每开发一个网站,都是通过http://localhost/WebName的形式访问,是不是很麻烦?
    1、修改hosts文件,增加主机名
    (1)Linux系统的hosts文件为/etc/hosts
    (2)Windows系统的hosts文件为C:WINDOWSsystem32driversetchosts
    比如你想增加www.local.com主机,则在此文件中增加一行:127.0.0.1 www.local.com,也就是说当你访问www.local.com时,其实是访问127.0.0.1;
    我比较喜欢简短的域名,所以我增加的是:127.0.0.1 SpringMVC
    2、修改配置文件
    在</Host>后再增加一个Host结点:
    <Host name="SpringMVC" appBase="/var/www/webapp/SpringMVC" unpackWARs="true" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false" />
    即增加了一个名为SpringMVC的虚拟主机,当然也可以是name="www.local.com",这个根据具体情况定。
    这样,访问的IP就是:http://SpringMVC了。
    3、目录设置
    主机SpringMVC的WEB文件全放在/var/www/webapp/SpringMVC目录下,在该目录下增加ROOT目录,放入你的JavaEE网站工程,这样,你就可以通过http://SpringMVC访问你的网站了,后面少了/SpringMVC这个字串,在IP上与运行环境保持了一致。
    四、其它问题
    通过http://SpringMVC访问的是SpringMVC网站;
    通过http://localhost访问的是Tomcat自带的网站;
    我们在hosts文件中已经知道,SpringMVC和localhost都对应的IP是:127.0.0.1
    那么,通过http://127.0.0.1访问的是那个网站呢?
    在Host的父节点是:<Engine name="Catalina" defaultHost="SpringMVC">
    从上可以看出,defaultHost="SpringMVC"决定了127.0.0.1访问哪个网站,我的设置是访问SpringMVC

  • 相关阅读:
    Sqoop详细知识
    数据分析与数据挖掘
    数仓 星形模型与雪花模型 简单理解
    mapreduce多进程与spark多线程比较
    ETL工具总结
    数据仓库概述
    利用 Azure Devops 创建和发布 Nuget 包
    设置 Nuget 本地源、在线私有源、自动构建打包
    简单理解 OAuth 2.0 及资料收集,IdentityServer4 部分源码解析
    asp.net core 健康检查
  • 原文地址:https://www.cnblogs.com/youxin/p/5174551.html
Copyright © 2011-2022 走看看