我正在尝试部署 IIS + Tomcat,但情况很乱。公司在 IIS 中设置了大量虚拟机,由于数量太多,而且有些虚拟机包含 JSP,因此我们需要 Tomcat 来运行所有这些虚拟机。
我尝试按如下方式设置主机/上下文:
<Host name="localhost" unpackWARs="true" autoDeploy="false" appBase="e:\webdata\Inetpub\wwwroot\">
<Context path="/aboriginal" docbase="static\business\Abo" crossContext="true" />
<Context path="/ecc" docbase="static\countries\Canada\ECC" crossContext="true" />
问题是,当 tomcat 加载时,它会查找“e:\webdata\inetpub\wwwroot”是否存在。
SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base e:\webdata\Inetpub\wwwroot\ecc does not exist or is not a readable directory
当然它不存在!静态/业务/Abo存在!
我读到的所有内容都让我相信“上下文”是 Tomcat 版本的虚拟文件夹。为什么虚拟文件夹必须在创建之前就存在?
就是这样吗?我这里缺少什么?
我编写了一个 IronPython 脚本来从 IIS 中提取虚拟机并创建适当的 IIS 配置。我不希望创建一系列空文件和文件夹来复制此配置。
非常感谢您的帮助!
答案1
JoseK 是对的。
请参阅此处的 docbase 属性:http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Common_Attributes
因此你应该
<Context path="/ecc" docbase="e:\webdata\Inetpub\wwwroot\static\countries\Canada\ECC" crossContext="true" />