新闻资讯

如何实现多域名访问同一应用/不同应用

2018-10-17

当tomcat启动的时候它就会读取该server.xml文件,tomcat每读到一个就会加载该标签下指定的应用,它是不知道应用是否相同的,故如果有多个标签都是指定同一个应用,也就是说tomcat重复加载了多遍同样应用。创建多个虚拟主机,很消耗内存。

熟悉下面几个概念

以如下为例
<Host name="localhost" 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" />

1
2
3
4
5
6
7
8
appBase与docBase关系
appBase:这个目录下面的子目录将自动被部署为应用,且war文件将被自动解压缩并部署为应用,默认为tomcat下webapps目录。例如http://localhost:8080/projectName,projectName是webapps下每个应用名。
docBase:指向单个应用,设置访问路径,项目的war文件存放位置,例如http://localhost:8080/test,其中test是path指定的路径。
appBase与docBase没有因果和互斥关系,随便设置。
Context与Host
Host:指定一个域,绑定域名,它下面可以有多个Context。
Context:代表了运行在Host上的单个Web应用,一个Host可以有多个Context元素,每个Web应用必须有唯一的URL路径,这个URL路径在Context中的属性path中设定。

tomcat 实现多域名指定同一项目

由于tomcat是按host配置创建虚拟机的,所以有多少host创建多少个虚拟机,如果指定同一项目,那么配置多个host就划不来了。所以使用。
例如

www.test1.cn www.test2.cn

1
2
3
4
5
6
7
8
9
这里的关键在于www.test1.cnwww.test2.cn,将两个域名主机指向了同一个项目。
这样配置就会创建一个虚拟机,不同的域名指定同一应用。

tomcat 实现多域名指定不同项目

这个只能靠创建多个Host实现了。有人说Context里path不能相同,这里
例如

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
用多个Host创建多外域名项目。

项目启动加载多次的问题

方法一
去掉appBase里值。
有问题代码
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">


1
2
3
4
去掉appBase里值后代码
<Host name="localhost" appBase=""
unpackWARs="true" autoDeploy="true">


1
2
3
4
方法二
不修改appBase,修改Context配置,将项目war不放在默认目录webapps下。项目所在目录不能与appBase指定路径相同。
<Host name="localhost" appBase=""
unpackWARs="true" autoDeploy="true">


1
2
3
4
这里将test.war放到newwebapps里。
支持https协议
申请证书
配置tomcat

一般的动态域名解析都是使用自己的域名,而且只能在公网IP环境下使用,然而花生壳却能帮助用户解决用网问题,同时支持内网和公网IP,可以同时搭配内网穿透功能。花生壳在进行动态域名解析时使用的是系统自带的二级域名,当动态域名解析后,二级域名与本地公网的IP会相对应,这时候用户就可以在自己的域名解析管理网站中设置指向动态解析域名,同时也可以直接添加使用自己的域名。
有些用户不解,如何绑定已有的域名,如何实现动态域名解析?针对这个问题,小编为用户们分享了一些关于花生壳的相关问答,希望能帮助用户解决域名解析的烦恼。
如何绑定在贝锐注册域名?
答:花生壳会自动检测到用户登录的账号域名,自动绑定。
如何绑定在其他地方注册的域名?
答:如果用户的域名并不是在贝锐的官网上注册的,用户就需要使用使用花生壳进行动态解析,同时还需要用户转入注册商或者解析才能使用花生壳进行解析。
此外,花生壳根据不同的用户需求推出了不同类型的应用,具体列举如下:
商业版:主要适用于微小型企业、企业网站或者用于监控视频等,它的稳定性能很强,解析速度快,能同时提供45台服务器工作,价格上相对来说也比较划算,360元/年。
旗靓版:主要适用于中小型企业、电子商务等,稳定性高于商业版,但是解析速度不比商业版,但是同时能容纳70台服务器工作,目前比较受欢迎,很多用户都会选择它来解决动态域名解析的问题。