关闭

tomcat多域名绑定之server.xml配置

标签: linuxtomcatnginx
1603人阅读 评论(0) 收藏 举报
分类:

    tomcat多域名绑定之server.xml配置   

 

   目前由于很多公司的网站都在用tomcat作为应用服务器,但是对于很多初学的小伙伴来说,可能在将自己公司或个人申请的域名如何与自己的网站进行绑定 时 不知所云,或者用一个tomcat与多个域名绑定又是如何操作的?又如何将这些域名绑定到不同的项目?对于这些疑问可能很多初学的小伙伴都会花费很多 时间 去研究(有时候还不一定能成功),下面我们就针对这些问题来具体说一下。 

         tomcat多域名绑定之server.xml配置(此配置文件作为Nginx多域名映射到对应不同tomcat的nginx.conf配置详解 中的第一个tomcat配置信息,如果不考虑nginx的配置,此配置可作为一个单独的配置使用,只需将下文中绿色标注的端口号改为默认80即可)

       

1、首先需要有一个域名,并且在域名解析中将该域名解析到我们自己服务器所对应的ip上;
       2、将我们自己服务器上tomcat的server.xml端口号修改为80,tomcat默认端口号为8080,具体修改见下文server.xml中绿色标注的信息。
       3、域名绑定,将server .xml文件中的<Host >信息修改如下,其name默认为localhost,修改为你自己的域名并且添加<Context>信息,<Context>中参数path为你的项目根目录,如项目在该tomcat下直接空着就行,docBase为你的项目名称,其他的配置如下即可。
      <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>
        4、多域名配置,如果绑定到多个域名只需将上面的<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="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="monitor.druid.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>


本文如结合 Nginx多域名映射到对应不同tomcat的nginx.conf配置详解 配置多tomcat的话另外的tomcat信息需要修改器端口号即可,下面是另外一个tomcat的server.xml的配置信息,如果没有使用nginx,可忽略下面这些内容:
<?xml version='1.0' encoding='utf-8'?>

<Server port="8006" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />
  -->
  <!--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="8091" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

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

        <Context path="" docBase="yunbang" 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="yunbang.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Context path="" docBase="yunbang" 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>

   本文原创,转载请注明出处

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:50946次
    • 积分:1169
    • 等级:
    • 排名:千里之外
    • 原创:68篇
    • 转载:4篇
    • 译文:0篇
    • 评论:1条
    最新评论