提问者:小点点

如果应用程序文件夹名称与上下文名称不同,如何在多实例Tomcat中配置<Context>?


我的设置:OS-macOS Catalina Tomcat v9.0.20

$CATALINA_HOME - /usr/local/apache-tomcat-9.0.20
$CATALINA_BASE - /usr/local/tomcat_instance/idev

实例的$CATALINA_BASE/conf/server. xml

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8205" shutdown="SHUTDOWN">
    
    <Connector port="8280" protocol="HTTP/1.1" connectionTimeout="20000"
        redirectPort="8443" />
    
    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    </Host>
    
</Server>

该应用程序是部署为分解文件夹(不是. war文件)的Java/SpringBoot应用程序。

应用程序的部署文件夹-/usr/local/tomcat_instance/idev/webapps/handbook-server.

application.properties
    server.servlet.context-path=/handbook

我希望我的应用程序有一个 /handbook的上下文,这样我就可以像这样访问它:http://localhost:8280/handbook

我的应用程序的上下文文件$CATALINA_BASE/conf/handbook. xml

<Context
    docBase="/handbook-server" 
    path="/handbook" 
    reloadable="true" 
/>

在查看了SO中的一些类似问题后,我尝试了如下设置docBase:

  1. doc Base="/handbook-server"
  2. doc Base="手册-服务器"
  3. doc Base="手册-服务器"
  4. doc Base="/us r/local/tomcat_instance/i dev/web apps/handbook-server"

上述所有docBase设置DID不起作用。

该应用程序的工作,如果我访问它作为http://localhost:8280/handbook-server

设置docBase值的正确方法是什么?任何答案和建议都将不胜感激。提前感谢。


共1个答案

匿名用户

我能够完成以下工作:

>

  • 创建一个文件夹来保存$CATALINA_BASE/idev/conf/Catalina/localhost中的上下文定义

    创建$CATALINA_BASE/idev/conf/Catalina/localhost/handbook.xml

    <Context
        docBase="../apps/handbook-server" 
        path="/handbook" 
        reloadable="true"/>
    

    在webapps文件夹$CATALINA_BASE/idev/apps/handbook-server之外创建了应用程序的部署文件夹

    要访问应用程序,我将浏览器指向http://localhost:8280/handbook

    如果有人有一个将应用程序放置在webapps中的解决方案,如果您可以发布它,我将不胜感激。