天天看点

tomcat配置域名的几种方式

作者:it村男主任

我们自己在开发项目时一般使用的是ip访问,如果要对外发布是需要申请域名的,毕竟一个域名就相当于网站的代称。

每个公司新上线的项目一般都会申请域名的,如果项目是部署在tomcat中的,那么如何进行配置呢?下边说一下其中的几种情况。

同端口

1一个域名对应一个项目

注意:host节点中的appBase和Context的docBase地址要一样

tomcat配置域名的几种方式
<Host name="www.test111.com" appBase="/usr/local/apache-tomcat/webapps/test11" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="/usr/local/apache-tomcat/webapps/test11" reloadable="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>
<Host name="bg.test222.com" appBase="/usr/local/apache-tomcat/webapps/test333" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="/usr/local/apache-tomcat/webapps/test333" reloadable="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>           

2一个域名通过项目名称对应多个项目

如果有一个host节点的appBase的值为webapps,那么该项目下的所有项目都可以默认通过项目名访问到。appBase="webapps"的作用是映射该tomcat下的所有项目使之都可以访问。

例如:Tomcat中有一个项目是checkProject,那么可是使用www.www.asdafsdfasd.com/checkProject访问到该项目

<Host name="www.asdafsdfasd.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="user/local/testrrr" path=”/” reloadable="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>           

不同端口

找到server.xml配置文件,复制整个<service>…</service>节点,复制后的内容还是放在<server>节点内

tomcat配置域名的几种方式

然后修改<Service> 和<Engine>的名称,将Catalina修改为Catalina1或其他名称,之后修改端口(未占用),在修改<Host>节点,将appBase=“webapps"中的webbapps改成webbapps1或其他名称。保存server.xml文件。

复制conf目录下的Catalina文件夹并重命名为Catalina1,要与上边的节点名称对应,在tomcat目录下新建一个wepapps1(与host节点名称一样)文件夹。

上边就可以通过不同端口访问相同的项目

您的赞和关注是对我创作的最大肯定,谢谢大家