先停止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. python2.7 跨文件全局变量的方法

    有关python实现跨文件全局变量的方法. 在使用Python编写的应用的过程中,有时会遇到多个文件之间传递同一个全局变量的情况.文件1:globalvar.py #!/usr/bin/env pyt ...

  2. js检查页面上有无重复id的代码分享

    用js代码检查一个页面上是否用重复的id. 方法一: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ...

  3. 同一个界面内取微信的OPENID和调用微信的分享接口

    步骤如下,1:判断URL是否有CODE参数传入,没有则拼接那个微信跳转连接,然后redirect2:有CODE传入,调用微信接口,根据code获取openid和access_token,注意这一步取到 ...

  4. codeBlocks编译undefined reference to错误

    是没有把c文件编译进去的原因. 右键项目,选择属性,弹出窗体 然后选择build targets 在最下面有个build target files:中把c文件勾选.点击ok重新编译即可. Code:: ...

  5. jquery实现仿京东侧边栏

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. Windows10 64位 Python2.7 Matplotlib安装

    为了安装Matplotlib 百度了一大堆,也下载了一大堆安装包,结果还是报错ImportError: DLL load failed: %1 不是有效的 Win32 应用程序. 后来直接从官网看怎么 ...

  7. HttpClient 教程 (一)

    转自:http://www.cnblogs.com/loveyakamoz/archive/2011/07/21/2112804.html HttpClient 教程 (一)   前言 超文本传输协议 ...

  8. JDK Logger 简介 (zhuan)

    http://antlove.iteye.com/blog/1924832 ******************************************* 一 简述 java.util.log ...

  9. 手动挡C1驾驶学车@长建驾校

    2015-11-01 下午取钱去长建驾校报名学车 4600(学费) + 100(暂住证) + 30(照片) + 10(体检) 2015-11-14 8:00-12:00 理论课2 光盘10  2015 ...

  10. LeetCode: Anagrams 解题报告

    AnagramsGiven an array of strings, return all groups of strings that are anagrams. Note: All inputs ...