先停止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.进入 conf\Catalina\www.test007.com 目录, www.test007.com目录为上面的域名

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

<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="C:\Users\Administrator\Desktop\project" reloadable="false" >
</Context>

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

<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="C:\Users\Administrator\Desktop\project-admin" reloadable="false" >
</Context>

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

<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="C:\Users\Administrator\Desktop\project-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:\Users\Administrator\Desktop\project" reloadable="true" crossContext="true" />
<Context path="admin" docBase="C:\Users\Administrator\Desktop\project-admin" reloadable="true" crossContext="true" />
<Context path="ser" docBase="C:\Users\Administrator\Desktop\project-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>

Tomcat 配置 项目 到tomcat目录外面 和 域名绑定访问(api接口、前端网站、后台管理网站)的更多相关文章

  1. tomcat 中项目配置文件统一目录设置

    在tomcat 安装目录中 conf 下的  catalina.properties 文件中 有个  shared.loader= 配置为   shared.loader="${catali ...

  2. tomcat配置项目虚拟路径

    tomcat版本:apache-tomcat-7.0.42 参考:http://blog.csdn.net/pangdingshan/article/details/7214786 一.虚拟根目录 1 ...

  3. Tomcat配置(二):tomcat配置文件server.xml详解和部署简介

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  4. nginx配置一、二级域名、多域名对应(api接口、前端网站、后台管理网站)

    前提:安装好nginx,如果已经启动nginx,先停止,命令: ./usr/local/nginx/sbin/nginx -s stop 修改nginx配置 vi /usr/local/nginx/c ...

  5. Django项目:CMDB(服务器硬件资产自动采集系统)--03--03CMDB信息安全API接口交互认证

    #settings.py """ Django settings for AutoCmdb project. Generated by 'django-admin sta ...

  6. tomcat 配置项目

    tomcat\conf\Catalina\localhost      下面存在项目配置文件信息,emas.xml 表示你eclipse中有个emas项目, 还有其他的项目xml.

  7. 为tomcat配置项目必须的引擎文件

    1.如下图所示,红框圈出来的四个语音引擎文件是直接放在项目根目录下的,这样的话我们发布web应用的时候,项目并不能自动把这几个文件打包到tomcat中, 除非放到WebRoot文件夹下,但是这样的话项 ...

  8. tomcat 配置项目前缀(推荐方式四)

    一. 显示配置 Context 的 path   需要在 server.xml 文件中手动配置. <Host name="localhost" appBase="w ...

  9. tomcat 配置项目指定域名

    <Host name="www.xxx.com" appBase="D:/tomcat/webapps/web"> <alias>xxx ...

随机推荐

  1. Unity3d官方测试插件学习-单元测试,集成测试

    2016/11/27更新:官方的测试工具有许多问题,我修改了一个版本 https://git.oschina.net/Hont/UnitTest_Modifyed 支持切场景,异常不失败等 其实Uni ...

  2. [svc][op]磁盘Inode详解-重要

    另一篇白话总结 一.inode是什么 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB ...

  3. SourceInsight-查看java中接口对应的实现类

    1.双击选中需要查看的接口名称,然后右击选择“Show in Relation Window” 2.然后在右侧会弹出一个Relation的窗口 如果没有列出对应的实现类,可以在接口名上再次右击,依次选 ...

  4. ios笔记一(面向对象编程)

    #import <Foundation/Foundation.h> #import "Person.h" int main (int argc, const char ...

  5. graal

    https://github.com/graalvm/graal-core/blob/master/docs/Publications.md http://stefan-marr.de/downloa ...

  6. python(33)多进程和多线程的区别

    多线程可以共享全局变量,多进程不能.多线程中,所有子线程的进程号相同:多进程中,不同的子进程进程号不同. #!/usr/bin/python # -*- coding:utf-8 -*- import ...

  7. hdoj1160 FatMouse's Speed 动态规划

    FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  8. Django——model基础

      ORM 映射关系: 表名 <-------> 类名 字段 <-------> 属性 表记录 <------->类实例对象 创建表(建立模型) 实例:我们来假定下 ...

  9. PairRDD中算子combineByKey图解

    1.combineByKey combine 为结合意思.    作用: 将RDD[(K,V)] => RDD[(K,C)] 表示V的类型可以转成C两者可以不同类型. def combineBy ...

  10. 微信支付V3版本的那些事

    最近在接入微信支付这块功能,博客园也有很多博友发表了支付的各种吐槽和解决之道,基于那些经验分享之上,我也来说说我的填坑之路. 1:准备工作,首先去申请注册一个公众号——服务号,然后将微信支付功能开通, ...