如何为非标准 war 文件位置配置 Tomcat7 `server.xml`
How to configure Tomcat7 `server.xml` for non-standard war-file location
我希望 Tomcat7 应用程序具有此目录结构:
/var/lib/tomcat7/webapps
/foo
/current -> /var/lib/tomcat7/webapps/foo/releases/1.1
/releases
/1.0
/1.1
/shared ...
其中 current
是应用程序当前实际版本的符号链接。因此,我认为我需要向我的 server.xml
文件添加上下文,如下所示:
<Context path="/foo/app" docbase="/var/lib/tomcat7/webapps/foo/current" />
foo/app
的 URL 将是
http://localhost:8080/foo/app
然而我得到的只是 404 错误。我安装了 tomcat-admin,它显示了 foo/app
,但并没有真正帮助我了解我在哪里接线不正确。我还在 /etc/tomcat7/Catalina/localhost
中尝试了一个 foo.xml
文件,它指定了路径和文档库,但这也没有用。
如何配置上下文以支持上面显示的目录结构?
您似乎无法在 appbase 中拥有备用上下文。如果您想要一个在 appbase 之外的应用程序,那么使用上下文路径和上下文文档库是可行的方法。
最终我放弃了强制使用 docbase 并导致我的 Tomcat 错误的文件结构。
我希望 Tomcat7 应用程序具有此目录结构:
/var/lib/tomcat7/webapps
/foo
/current -> /var/lib/tomcat7/webapps/foo/releases/1.1
/releases
/1.0
/1.1
/shared ...
其中 current
是应用程序当前实际版本的符号链接。因此,我认为我需要向我的 server.xml
文件添加上下文,如下所示:
<Context path="/foo/app" docbase="/var/lib/tomcat7/webapps/foo/current" />
foo/app
的 URL 将是
http://localhost:8080/foo/app
然而我得到的只是 404 错误。我安装了 tomcat-admin,它显示了 foo/app
,但并没有真正帮助我了解我在哪里接线不正确。我还在 /etc/tomcat7/Catalina/localhost
中尝试了一个 foo.xml
文件,它指定了路径和文档库,但这也没有用。
如何配置上下文以支持上面显示的目录结构?
您似乎无法在 appbase 中拥有备用上下文。如果您想要一个在 appbase 之外的应用程序,那么使用上下文路径和上下文文档库是可行的方法。
最终我放弃了强制使用 docbase 并导致我的 Tomcat 错误的文件结构。