Tomcat 多端口
JeromeSoar 2021-01-25 大约 2 分钟
在我们部署项目到Tomcat
的时候,有时候会配置通过域名访问项目。接下来我们就来了解一下多域名多端口访问项目的相关配置。
# 演示环境
- Tomcat 8.5
# 进行配置
# 多端口访问
当一个项目需要使用多个端口号去访问的时候,只需要在Service
标签下进行这样简单的配置一下就好:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
1
2
3
4
5
6
7
2
3
4
5
6
7
这样就保证了当Tomcat
运行起来的时候,同时监听多个端口,通过8080
和8081
端口来访问项目。
# 多域名访问
配置项目的多域名的访问,最简单的方式就是在Host
标签下配置Alias
标签:
<Host name="www.jerome.xin" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Alias>domain.jerome.xin</Alias>
<Alias>domain2.jerome.xin</Alias>
<Context docBase="/project" path=""/>
</Host>
1
2
3
4
5
2
3
4
5
如果是将Host
的内容复制一份,只修改name
属性也可以达到同样的效果。可以通过www.jerome.xin
、domain.jerome.xin
和domian2.jerome.xin
这些域名来访问项目。
# 多端口多域名访问
配置这个就是将Service
标签以及标签下的内容复制一下修改name
,然后配置不同Connector
,再配置不同的Host#name
属性,如下所示:
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="www.jerome.xin" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context docBase="/project1" path=""/>
</Host>
</Engine>
</Service>
<Service name="Catalina1">
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="www.jeromezhu.xin" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context docBase="/project2" path=""/>
</Host>
</Engine>
</Service>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
这样的配置就实现了,通过www.jerome.xin:8080
访问到project1
项目,通过www.jeromezhu.xin:8081
访问到project2
项目。
# 总结
通过上面的配置,我们已经完成了通过域名访问项目的各种方式。但是配置多域名的时候稍有不慎就会出现重复加载资源的问题。这个问题我在别的文章中进行说明。
![](/logo.png)
本文由 JeromeSoar 创作
原创不易,转载请注明出处,感谢支持!如果本文对您有用,欢迎转发分享!