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 "%r" %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 "%r" %s %b" /> </Host>
Tomcat 配置 项目 到tomcat目录外面 和 域名绑定访问(api接口、前端网站、后台管理网站)的更多相关文章
- tomcat 中项目配置文件统一目录设置
在tomcat 安装目录中 conf 下的 catalina.properties 文件中 有个 shared.loader= 配置为 shared.loader="${catali ...
- tomcat配置项目虚拟路径
tomcat版本:apache-tomcat-7.0.42 参考:http://blog.csdn.net/pangdingshan/article/details/7214786 一.虚拟根目录 1 ...
- Tomcat配置(二):tomcat配置文件server.xml详解和部署简介
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- nginx配置一、二级域名、多域名对应(api接口、前端网站、后台管理网站)
前提:安装好nginx,如果已经启动nginx,先停止,命令: ./usr/local/nginx/sbin/nginx -s stop 修改nginx配置 vi /usr/local/nginx/c ...
- Django项目:CMDB(服务器硬件资产自动采集系统)--03--03CMDB信息安全API接口交互认证
#settings.py """ Django settings for AutoCmdb project. Generated by 'django-admin sta ...
- tomcat 配置项目
tomcat\conf\Catalina\localhost 下面存在项目配置文件信息,emas.xml 表示你eclipse中有个emas项目, 还有其他的项目xml.
- 为tomcat配置项目必须的引擎文件
1.如下图所示,红框圈出来的四个语音引擎文件是直接放在项目根目录下的,这样的话我们发布web应用的时候,项目并不能自动把这几个文件打包到tomcat中, 除非放到WebRoot文件夹下,但是这样的话项 ...
- tomcat 配置项目前缀(推荐方式四)
一. 显示配置 Context 的 path 需要在 server.xml 文件中手动配置. <Host name="localhost" appBase="w ...
- tomcat 配置项目指定域名
<Host name="www.xxx.com" appBase="D:/tomcat/webapps/web"> <alias>xxx ...
随机推荐
- Windows XP忘记密码的几种解决方法
1. 问题 朋友一Windows XP系统的密码忘记了,让给解决一下.网上搜索了几种解决方案,列在下面,记一下. 2. 解决 2.1 使用“Administrator”帐户 前提:当前用户名不是“Ad ...
- Perl的新特性开启
1.perl自从5.8开始,新特性需要开启才可以使用,默认只是5.8版本,而不管当前你使用的是那个版本. 2.开启新特性,当然最高可用版本是你实际安装的版本,假设你安装的是v5.26版 ; #或者这样 ...
- ubuntu的交换分区和系统休眠
因为休眠功能在部分计算机上不能正常工作,所以自16.04后,ubuntu不在默认开启休眠功能. 要开启休眠功能需要如下条件. 1.要有交换分区(swap). 2.交换分区的容量至少要和实际内存一样大, ...
- jQuery 隐藏与显示 input 默认值
分享下jQuery如何隐藏和显示 input 默认值的例子. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...
- [na]icmp重定向
这个东西最多平时翻看书时候yy以下或者gns3模拟一下, 实际中还真不曾遇到,直到今天,帮别人解决一个问题时候,抓icmp包发现这个.....忘记了原理,梳理一下 icmp重定向问题 参考
- 【Android】11.6 Fragments基本用法示例
分类:C#.Android.VS2015: 创建日期:2016-02-22 一.简介 该例子演示了如何使用两个fragment创建双区域布局的activity(纵向和横向).在这个activity包含 ...
- 【Android】3.14 公交线路查询功能
分类:C#.Android.VS2015.百度地图应用: 创建日期:2016-02-04 一.简介 利用BusLineSearch方法可查询公交线路的详情信息. 二.运行截图 简介:介绍查询公交线路功 ...
- Spring Boot干货系列:(二)配置文件解析
Spring Boot干货系列:(二)配置文件解析 2017-02-28 嘟嘟MD 嘟爷java超神学堂 前言 上一篇介绍了Spring Boot的入门,知道了Spring Boot使用“习惯优于 ...
- 【转】Hive优化总结
优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜. 理解Hadoop的核心能力,是hive优化的根本.这是这一年来,项目组所有成员宝贵的经验总结. 长期观察hadoo ...
- tomcat 8 加 struts2的 java.lang.NoSuchFieldException: resourceEntries
google发现已经有人把这个bug提交给了apache,issue地址,具体原因就是 Tomcat8 introduce super class WebappClassLoaderBase and ...