tomcat 绑定2级域名解决重复加载的问题

来源:互联网 发布:网络协议服务器 编辑:程序博客网 时间:2024/06/06 01:59

描述问题

springboot的项目是弄完了,就想放到网上看看效果,于是闲的没事搞了台阿里云windows版的服务器,配置完JAVA,安装好tomcat,就遇到项目绑定域名的问题。貌似现在通过tomcat去绑定域名是件很傻的事情。没有其他条件就尝试吧,遇到突出的问题:

1.绑定二级域名。

2.绑定好域名之后项目重复加载。

前置条件

在不绑定域名的情况项目可以启动tomcat并且通过localhost访问项目。

解决方案

先说绑定域名

在tomcat下的conf目录中我们可以看到server.xml文件。找到其中的片段,原文如下:

<Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true">        <!-- SingleSignOn valve, share authentication between web applications             Documentation at: /docs/config/valve.html -->        <!--        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />        -->        <!-- Access log processes all example.             Documentation at: /docs/config/valve.html             Note: The pattern used is equivalent to using pattern="common" -->        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               prefix="localhost_access_log" suffix=".txt"               pattern="%h %l %u %t &quot;%r&quot; %s %b" />      </Host>

其中name属性localhost替换为我们要绑定的域名如www.abc.com。其他不做任何的更改,启动tomcat这个时候访问项目路径是www.abc.com:8080/。

此时:tomcat不会多次加载项目。

当我们在上面的片段中加上标签的时候(网上好多都有,配置多级域名怎么滴)。正确的做法如下:

<Host name="a.abc.cn" appBase="webapps/taleblog" unpackWARs="true" autoDeploy="true">      <Alias>a.abc.cn</Alias>      <Context path="" docBase="C:\apache-tomcat-8.5.14\webapps\taleblog" debug="0" privileged="true" />      <Valve className="org.apache.catalina.valves.AccessLogValve"             directory="logs"   prefix="localhost_access_log." suffix=".txt"             pattern="%h %l %u %t &quot;%r&quot; %s %b" resolveHosts="false" />    </Host> 

注意此时:需要将appBase具体到你的项目如webapps/blog而不是选用默认的值webapps.可不配置context标签,如果你硬要配置此标签,需要将docBase的值设置为项目的绝对路径。

以上内容放在前面即可。

最后端口的问题:

在server.xml文件中找到如下

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

将port=”8080”改为你需要的即可。常规设置为80.

0 0