您的位置:首页 > 运维架构 > Tomcat

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

2017-04-27 14:22 495 查看
描述问题

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 "%r" %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 "%r" %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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tomcat 域名