繁体   English   中英

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

[英]How to configure <Context> in a multi instance Tomcat if the application folder name is different from the context name?

我的设置:操作系统 - 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>

该应用程序是部署为展开文件夹(not.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. docBase="/handbook-server"
  2. docBase="手册服务器"
  3. docBase="手册服务器"
  4. docBase="/usr/local/tomcat_instance/idev/webapps/handbook-server"

上述所有 docBase 设置均无效。

如果我以 http://localhost:8280/handbook-server 的身份访问该应用程序,则该应用程序可以工作

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

我能够完成以下工作:

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

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

     <Context docBase="../apps/handbook-server" path="/handbook" reloadable="true"/>
  3. 在 webapps 文件夹$CATALINA_BASE/idev/apps/handbook-server之外创建了应用程序的部署文件夹

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM