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 ...
随机推荐
- python2.7 跨文件全局变量的方法
有关python实现跨文件全局变量的方法. 在使用Python编写的应用的过程中,有时会遇到多个文件之间传递同一个全局变量的情况.文件1:globalvar.py #!/usr/bin/env pyt ...
- js检查页面上有无重复id的代码分享
用js代码检查一个页面上是否用重复的id. 方法一: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ...
- 同一个界面内取微信的OPENID和调用微信的分享接口
步骤如下,1:判断URL是否有CODE参数传入,没有则拼接那个微信跳转连接,然后redirect2:有CODE传入,调用微信接口,根据code获取openid和access_token,注意这一步取到 ...
- codeBlocks编译undefined reference to错误
是没有把c文件编译进去的原因. 右键项目,选择属性,弹出窗体 然后选择build targets 在最下面有个build target files:中把c文件勾选.点击ok重新编译即可. Code:: ...
- jquery实现仿京东侧边栏
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Windows10 64位 Python2.7 Matplotlib安装
为了安装Matplotlib 百度了一大堆,也下载了一大堆安装包,结果还是报错ImportError: DLL load failed: %1 不是有效的 Win32 应用程序. 后来直接从官网看怎么 ...
- HttpClient 教程 (一)
转自:http://www.cnblogs.com/loveyakamoz/archive/2011/07/21/2112804.html HttpClient 教程 (一) 前言 超文本传输协议 ...
- JDK Logger 简介 (zhuan)
http://antlove.iteye.com/blog/1924832 ******************************************* 一 简述 java.util.log ...
- 手动挡C1驾驶学车@长建驾校
2015-11-01 下午取钱去长建驾校报名学车 4600(学费) + 100(暂住证) + 30(照片) + 10(体检) 2015-11-14 8:00-12:00 理论课2 光盘10 2015 ...
- LeetCode: Anagrams 解题报告
AnagramsGiven an array of strings, return all groups of strings that are anagrams. Note: All inputs ...