tomcat 实现多端口多域名访问

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Happy_cloudlife/article/details/85047844

在我们部署项目到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" />

这样就保证了当Tomcat运行起来的时候,同时监听多个端口,通过80808081端口来访问项目。

多域名访问

配置项目的多域名的访问,最简单的方式就是在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>

如果是将Host的内容复制一份,只修改name属性也可以达到同样的效果。可以通过www.jerome.xindomain.jerome.xindomian2.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>

这样的配置就实现了,通过www.jerome.xin:8080访问到project1项目,通过www.jeromezhu.xin:8081访问到project2项目。

总结

通过上面的配置,我们已经完成了通过域名访问项目的各种方式。但是配置多域名的时候稍有不慎就会出现重复加载资源的问题。这个问题我在别的文章中进行说明。

原文链接:tomcat 实现多端口多域名访问

猜你喜欢

转载自blog.csdn.net/Happy_cloudlife/article/details/85047844
今日推荐