在Tomcat的自定义主机上部署应用程序
我在部署应用程序时遇到了一些问题。
环境:Ubuntu 10.04,Tomcat 7.02(从tomcat站点的存档而不是从存储库安装),手动运行和停止服务器,而不使用任何IDE。
首先,我在中创建了主机$CATALINA_HOME/conf/server.xml
:
<Host name="java.dev" appBase="/home/krasilich/java/"
autoDeploy="true" >
<Alias>www.java.dev</Alias>
</Host>
然后在中创建一个上下文$CATALINA_HOME/conf/Catalina/java.dev/siloc.xml
:
<Context docBase="siloc/web/" />
并得到了错误
主机appBase内的docBase / home / krasilich / java / siloc / web /已指定,将被忽略
但是,如果我将manager.xml复制到$CATALINA_HOME/conf/Catalina/java.dev/
我可以运行管理器应用程序。如果我通过管理器部署应用程序-
它说一切正常,但是我仍然在java.dev:8080/siloc/上看到404
这就是自定义主机的全部内容。
我也尝试通过localhost上的管理器部署应用程序,并且它可以正常工作,我可以在localhost:8080 / siloc /上看到我的“ Hello
Word”
但是,如果我更改index.jsp中的文本,则不会在前端受到影响。“重新部署”按钮对我没有帮助。
正如我提到的,管理器只是将应用程序文件复制到webapps目录,而不对配置文件进行任何更改。
我所需要的就是可以将应用程序部署到文件系统中的任何目录中(实际上是/home/krasilich/java/
)。
如果可以在自定义主机(如java.dev)上执行此操作,那将是很好的选择,我需要答案,为什么上下文$CATALINA_HOME/conf/Catalina/java.dev/siloc.xml
对我不起作用,我应该怎么做才能使其保持一致?
谢谢。
回答:
我已经能够复制您的问题。
有2个解决方法摆弄周围的组合后,我可以建议appBase
和docBase
。看起来两者无法一起运行。
选项1-删除appBase
取出appBase
从server.xml
和指定的完整路径的Web应用程序docBase
中$CATALINA_HOME/conf/Catalina/java.dev/siloc.xml
我想你的价值会是/home/krasilich/java/siloc/web/siloc
。
注意:最多指定父文件夹/home/krasilich/java/siloc/web/
将显示父文件夹的目录列表
选项2-删除docBase
在 $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml
删除docBase
并仅保留<Context/>
Tomcat siloc
从中推断出webapp的名称,
$CATALINA_HOME/conf/Catalina/java.dev/siloc.xml
并siloc
在appBase中查找命名的webapp
。
如果您还将appBase
in
更改为server.xml
webapp的父文件夹,这将允许java.dev:8080/siloc/正常工作siloc
。
回应为什么manager
可行,原因相同-manager.xml中没有docBase
我正在尝试docBase的其他组合,但我提供的任何值都会引发
警告:主机appBase中的docBase …已指定,将被忽略
所以我的结论是删除docBase。这不是一个好主意-因为到父文件夹的完整路径然后被硬编码在server.xml中。
以上是 在Tomcat的自定义主机上部署应用程序 的全部内容, 来源链接: utcz.com/qa/397538.html