zoukankan      html  css  js  c++  java
  • Tomcat 配置 项目 到tomcat目录外面 和 域名绑定访问(api接口、前端网站、后台管理网站)

    先停止tomcat服务

    1.进入apache-tomcat-7.0.68/conf/Catalina/localhost(如果之前还都没有启动过tomcat,是不会有此目录的,先启动一次再关闭,会自动生成此目录)

    2.新建admin.xml(admin为项目名称,要对应)

    admin.xml内容:

    <?xml version='1.0' encoding='utf-8'?>
    <Context crossContext="true" debug="0"docBase="/home/jenkins/webapps/admin"reloadable="false">
    </Context>

    3.把项目移动到 /home/jenkins/webapps

    项目完整目录为:/home/jenkins/webapps/admin

    但很多时候,我们希望不需要项目名称,直接输入域名就可以访问了,做法是:

    (1).为了保险起见,删掉tomcat服务器中的webapps目录下的ROOT文件夹。

    (2).将xml文件名改为ROOT(ROOT.xml)

    项目访问路径是以xml文件名为准的(ROOT会自动忽略)。

    4.启动tomcat

    下面介绍怎么使用这种方法进行域名配置,一般我们会遇到这种情况,客户会给我们一个域名,让这个域名可以访问前端网站、后端管理网站和api接口,那么我们可以把前端网站配置成域名直接访问,然后其他两个配置两个不同的域名后缀(本例使用admin和ser)即可。可以满足需求。下面以域名 www.test007.com 进行配置。

    1.配置server.xml

    修改访问端口为80

        <Connector port="80" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />

    添加一个<Host>并配置域名到新<Host>中,后面如果更换域名直接修改name的属性即可。

          <Host name="www.test007.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
            <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>

    2.为了保险起见,删掉tomcat服务器中的webapps目录下的ROOT文件夹,启动tomcat、停止tomcat

    3.进入 confCatalinawww.test007.com 目录, www.test007.com目录为上面的域名

    4.新建ROOT.xml(前端网站配置文件)并添加如下内容,docBase的属性根据自己实际前端网站项目路径修改

    <?xml version='1.0' encoding='utf-8'?>
    <Context crossContext="true" docBase="C:UsersAdministratorDesktopproject" reloadable="false" >
    </Context>

    5.新建admin.xml(后端管理网站配置文件)并添加如下内容,docBase的属性根据自己实际后端管理网站项目路径修改

    <?xml version='1.0' encoding='utf-8'?>
    <Context crossContext="true" docBase="C:UsersAdministratorDesktopproject-admin" reloadable="false" >
    </Context>

    5.新建ser.xml(后端管理网站配置文件)并添加如下内容,docBase的属性根据自己实际服务端接口项目路径修改

    <?xml version='1.0' encoding='utf-8'?>
    <Context crossContext="true" docBase="C:UsersAdministratorDesktopproject-api" reloadable="false" >
    </Context>

    6.启动tomcat, 三端的完整域名为:前端 http://www.test007.com ; 后端管理 http://www.test007.com/admin ; api接口 http://www.test007.com/ser

    更简单的方法新增的<Host>如下即可:

            <Host name="www.test007.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
                <Context path="" docBase="C:UsersAdministratorDesktopproject" reloadable="true" crossContext="true" />
                <Context path="admin" docBase="C:UsersAdministratorDesktopproject-admin" reloadable="true" crossContext="true" /> 
                <Context path="ser" docBase="C:UsersAdministratorDesktopproject-api" reloadable="true" crossContext="true" /> 
            </Host>

    注1:xmlValidation="false" xmlNamespaceAware="false"

    加上这两个属性就可以在
    <Context path="" docBase="" reloadable="true" />
    中的docBase里直接配置项目名称,也就是webapps下的你的war包解压的根目录名称,而不用配置绝对路径,没有这两个属性配置相对路径无法将该项目设置为默认项目,访问localhost仍然是tomcat 首页,亲测有效。 

    注2:

    我们先看appBase,这个目录表示:
    1 这个目录下面的子目录将自动被部署为应用。
    2 这个目录下面的.war文件将被自动解压缩并部署为应用
    而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。
    总结:
    如果你想自己指定路径,那么应该在docBase里面
    如果你想简单,那么直接把他们复制到appBase下面就行了

    如果想war包自动解压部署【可以只更新war不重启tomcat】那可以这么配置【其中(/Users/weishengbin/0test/pro)为应用总目录,同tomcat中的webapps目录】:

    而(/Users/weishengbin/0test/pro/admin)为应用目录。

    <Host name="localhost" appBase="/Users/weishengbin/0test/pro" unpackWARs="true" autoDeploy="true">
            <Context path="" docBase="/Users/weishengbin/0test/pro/admin" reloadable="true" />
            <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>
  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    并行导致的进程数过大无法连接数据库
    Oracle 等待事件(Wait Event):Sync ASM rebalance 解析
    2套RAC环境修改scanip后客户端连接异常
    数据流通技术工具
    Hack The Box——Scavenger
    MySQL中InnoDB引擎对索引的扩展
    30分钟,教你从0到1搞定一次完整的数据可视化分析!
    【2020-MOOC-浙江大学-陈越、何钦铭-数据结构】树和堆(第五周的笔记和编程作业)
  • 原文地址:https://www.cnblogs.com/007sx/p/5750448.html
Copyright © 2011-2022 走看看