Tomcat8配置域名访问

1、配置hosts文件(没有域名时配置hosts文件)

   文件路径 :    C:\Windows\System32\drivers\etc\hosts

   配置本地域名:

127.0.0.1		www.testTomcat.com

2、修改tomcat的server.xml文件

       文件路径:tomcat解压路径/conf/server.xml

tomcat默认监听端口是8080,我们如果想不带端口的直接访问项目,就必须监听80 端口。

    2.1、将8080端口修改为80端口

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

修改后

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

2.2修改Engine

    <Engine name="Catalina" defaultHost="localhost">

修改后

<Engine name="Catalina" defaultHost="www.testTomcat.com">

engine指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的

    2.3修改域名
 <Host name=" localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

修改后

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

 2.4修改war包路径(可选)

    war包路径默认在  tomcat解压路径/webapps  中。

    方法1、 可以直接将web项目打包的war包放到  tomcat解压路径/webapps  路径下面。(名称为 ROOT.war)

    方法2、修改appBase的值,并在建立testTomcat文件夹

              路径:  tomcat解压路径/webapps/testTomcat。(复制war包到testTomcat中,名称为 ROOT.war)

             修改后的值 如下代码:

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

    方法3、添加Context标签     

     <Host name="www.testTomcat.com"  appBase="webapps"  unpackWARs="true" autoDeploy="true">
            <Context path="" docBase="testTomcat"/>
           <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
      </Host>

            解析:  docBase设置Tomcat中的项目名称。

3、运行结果

扩展:

4、域名别名

重启服务器之后确实可以域名访问项目了,但是当去掉前面www.的时候,却无法访问。

既然访问不到意思就是没有配置这个域名,就又加了一个<host/>标签,其他的都没变,只把有域名的地方去掉前面的www. 然后重启服务器,这样按照理论来说是成功的,可是结果却是出乎所料。

访问不了,看日志下面既然还报了内存溢出,这就没办法理解了。

后来翻墙查资料,终于解决了。原来<host/>下还有一个别名标签<Alias></Alias>,修改后的代码


重启服务器,果然OK。
   <Host name="www.testTomcat.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            <Context docBase="test1" path="" reloadable="true"/>
            <Alias>testTomcat.com</Alias>
      
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

      </Host>

参考:http://blog.csdn.net/sinat_25926481/article/details/51460160

5、Tomcat下有多个项目

例:当我们的有两个项目都放在同一个tomcat下的时候,我们只需要把<Host></ Host>加上两个既可以完成我们的2个项目的绑定,但是项目名称别忘了改。

<Host name="www.testTomcat.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            <Context docBase="test1" path="" reloadable="true"/>
            <Alias>testTomcat.com</Alias>
        <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="www.testTomcat2.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            <Context docBase="test2" path="" reloadable="true"/>
            <Alias>testTomcat2.com</Alias>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

      </Host>
参考 :http://blog.csdn.net/kongnan93/article/details/50461810

猜你喜欢

转载自blog.csdn.net/u013344860/article/details/79591519