http://localhost:8080/管理器/html在 apt-get 安装 tomcat6(2.6.35-27-generic amd64 上的 JVM 1.6.0_20-b20 上的 6.0.28)时出现 404 错误。
http://localhost:8080/主机管理器/html有效。列出一个主机名,localhost。
使用 apt-get 安装 tomcat6-admin。
$ ls dpkg -l | grep -i tomcat6-admin
ii tomcat6-admin 6.0.28-2ubuntu1.1 Servlet and JSP engine -- admin web applications
$ cat /usr/share/tomcat6/conf/tomcat-users.xml
<tomcat-users> <role rolename="admin"/> <role rolename="manager" /> <user username="tomcatuser" password="Password1" roles="admin,manager"/> </tomcat-users>
$ cat /usr/share/tomcat6/conf/Catalina/localhost/manager.xml
<Context path="/manager"
docBase="/usr/share/tomcat6-admin/manager"
antiResourceLocking="false" privileged="true" />
<role name="manager" />
<user name="manager" password="Password1" roles="manager" />
<user name="tomcatuser" password="Password1" roles="manager" />
这两个文件是我见过的关于如何设置 Manager webapp 的唯一文档,它们似乎符合要求。
但是,Tomcat XML 解析器似乎不喜欢 manager.xml 中的第一个标签:
Mar 18, 2011 2:41:22 PM org.apache.catalina.startup.HostConfig deployDescriptor SEVERE: Error deploying configuration descriptor manager.xml org.xml.sax.SAXParseException; systemId: file:///etc/tomcat6/Catalina/localhost/manager.xml; lineNumber: 4; columnNumber: 2; The markup in the document following the root element must be well-formed.
答案1
查看 中的错误日志消息catalina.out
,最终意识到我在复制粘贴时搞混了,将<role>
和标签放入和<user>
中。这些标签只能放入 中。一旦从 中删除标签,管理器便开始工作。tomcat-users.xml
manager.xml
tomcat-users.xml
manager.xml
重申一下,唯一的内容manager.xml
是
<Context path="/manager"
docBase="/usr/share/tomcat6-admin/manager"
antiResourceLocking="false" privileged="true" />
很好
- 解析器中有更好的错误消息
- 要求 manager.xml 格式正确
- 部署失败时,管理器不会出现 404 错误。
答案2
管理器 Web 应用程序未默认安装;您运行了吗apt-get install tomcat6-admin
?
答案3
还要检查您的 tomcat 服务是否停滞在后台。终止所有停滞的 tomcat 进程,以确保您的重新配置被接受。