tomcat多域名绑定(server.xml配置)

2018-10-07 小惟 32

域名解析

首先需要有一个域名,并且在域名解析中将该域名解析到我们自己服务器所对应的ip上;

修改端口

将我们自己服务器上tomcat的server.xml端口号修改为80,tomcat默认端口号为8080

域名绑定

server .xml文件中的<Host>信息复制粘贴在<engine></engine> 标签之中,并修改如下,其中参数name默认为localhost,修改为你自己的域名 并且在<host></host> 标签之间添加<Context docBase="项目名" path=""reloadable="true" > 标签<Context>中参数path为你的项目根目录如项目在该tomcat下直接空着就行docBase为你的项目名称(项目文件夹名,基于webapps目录,例如webapps/hugh,则docBase=”hugh”),其他的配置如下即可。

<Host name="www.XXXXX.com"appBase="webapps"
unpackWARs="true" autoDeploy="true">

<Context path="" docBase="hugh" debug="0" reloadable="true" crossContext="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>12345678910

多域名配置

如果绑定到多个域名只需将上面的<Host/>拷贝多份即可,注意修改其中的name和<Context/>中的docBase信息,然后重启tomcat即可。

下面附上一个完整的tomcat server.xml的配置信息,其中部分因为注释被删掉,有需要看的可以找个原版tomcat看看其中的注释。

<?xml version='1.0' encoding='utf-8'?><Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />

<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- Prevent memory leaks due to use of particular Java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

<GlobalNamingResources>
 <Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>

<Service name="Catalina">

<Connector port="8090" protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443" />

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" 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.druid.com"appBase="webapps"
unpackWARs="true" autoDeploy="true">

<Context path="" docBase="bigtiger" debug="0" reloadable="true" crossContext="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>

<Host name="XXXX.com"appBase="webapps"
unpackWARs="true" autoDeploy="true">

<Context path="" docBase="hugh" debug="0" reloadable="true" crossContext="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>

<Host name="XXXX.com"appBase="webapps"
unpackWARs="true" autoDeploy="true">

<Context path="" docBase="monitor" debug="0" reloadable="true" crossContext="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>

</Engine>
</Service></Server>