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

Tomcat部署多个二级域名指向多个项目

2018-02-02 12:35 337 查看

在同一个ECS同一个Tomcat中利用二级域名部署多个应用

关键词: 阿里云 ECS Tomcat 二级域名

在阿里云解析DNS添加A类型的多个二级域名,指向ECS的IP,例如:

www.example.com

app.example.com

ios.example.com

打开Tomcat中的server.xml文件,找到Host标签。

添加多个Host标签:

<!-- 默认为www.example.com -->
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="false">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!--docBase指向项目的根目录-->
<Context path="" docBase="D:\apache-tomcat-9.0.0.M26\webapps\main\"
reloadable="true" privileged="true" debug="0"/>
</Host>


<!-- 重要!name为二级域名 -->
<Host name="app.example.com"  appBase="webapps" unpackWARs="true" autoDeploy="false">
<!-- 重要!标签中添加二级域名-->
<Alias>app.example.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="app_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!--docBase指向项目的根目录-->
<Context path="" docBase="D:\apache-tomcat-9.0.0.M26\webapps\app\"
reloadable="true" privileged="true" debug="0"/>
</Host>


<!-- 重要!name为二级域名 -->
<Host name="ios.example.com" appBase="webapps" unpackWARs="true" autoDeploy="false">
<!-- 重要!标签中添加二级域名-->
<Alias>ios.example.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="ios_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!--docBase指向项目的根目录-->
<Context path="" docBase="D:\apache-tomcat-9.0.0.M26\webapps\main\"
reloadable="true" privileged="true" debug="0"/>
</Host>


将项目多个文件夹放到Host标签中的appBase目录(也可以指定绝对路径)下,对应项目文件夹的位置在Context标签docBase中,这样使用相对路径也可以访问各个项目。

同样也可以在Context标签docBase中指定war包,不过每一次重启Tomcat都会重新解压war包。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Tomcat