Tomcat经理/ html不可用?

时间:2010-08-20 21:40:35

标签: tomcat manager-app

您好我刚刚安装了Tomcat并且正在尝试启动并运行但是每当我尝试导航到manager / html时它会给我这个错误“请求的资源(/ manager / html)不可用”。

主页,/ docs,/ examples都运行正常,我的日志没有显示任何内容。我该如何解决?我在Windows 7 64位上使用Tomcat 6.0.20和JDK 1.6.0_21。

10 个答案:

答案 0 :(得分:25)

您必须检查tomcat中文件夹manager中是否包含名称为webapps的文件夹。

Rubens-MacBook-Pro:tomcat rfanjul$ ls -la webapps/
total 16
drwxr-xr-x   8 rfanjul  staff   272 21 May 12:20 .
drwxr-xr-x  14 rfanjul  staff   476 21 May 12:22 ..
-rw-r--r--@  1 rfanjul  staff  6148 21 May 12:20 .DS_Store
drwxr-xr-x  19 rfanjul  staff   646 17 Feb 15:13 ROOT
drwxr-xr-x  51 rfanjul  staff  1734 17 Feb 15:13 docs
drwxr-xr-x   6 rfanjul  staff   204 17 Feb 15:13 examples
drwxr-xr-x   7 rfanjul  staff   238 17 Feb 15:13 host-manager
drwxr-xr-x   8 rfanjul  staff   272 17 Feb 15:13 manager

之后,您将确保在文件conf/tomcat-users.xml中为您的用户提供此permmint:

<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="test" password="test" roles="admin-gui,manager-gui"/>

再次重启tomcat和stat tomcat。

sh bin/shutdown.sh 
sh bin/startup.sh

我希望这对你有用。

答案 1 :(得分:10)

您必须先启用访问权限:Configuring Manager Application Access

答案 2 :(得分:5)

当tomcat经理没有启动时,我有了这个情况。我的日志/ manager.DDD-MM-YY.log中有这个例外:

org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter CSRF
java.lang.ClassNotFoundException: org.apache.catalina.filters.CsrfPreventionFilter
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        ...

引发此异常是因为我使用的是没有CSRF防护过滤器的tomcat版本。 Tomcat 6.0.24中没有CSRF防护过滤器。它的第一个版本是6.0.30版本(至少根据更改日志)。因此,Tomcat Manager与我使用的Tomcat版本不兼容。我在这里挖掘了对这个问题的描述:http://blog.techstacks.com/.m/2009/05/tomcat-management-setting-up-tomcat/comments/

修复它的步骤:

  1. 通过运行“sh version.sh”检查安装的tomcat版本 你的tomcat / bin目录
  2. 下载相应版本的tomcat
  3. 停止tomcat
  4. 删除您的webapps / manager目录和复制管理器应用程序 来自您下载的分销。
  5. 启动tomcat
  6. 现在您应该能够访问tomcat manager。

答案 3 :(得分:2)

我的问题/解决方案非常令人尴尬,但谁知道......也许它发生在其他人身上:

我的解决方案:关闭代理

在过去的两个小时里,我一直想知道为什么我的经理不会加载。 (根缓存以便加载)。我已将浏览器的代理设置为代理流量到我家。 :/

答案 4 :(得分:2)

即使我的tomcat-users.xml文件设置正确,我也无法登录管理器应用程序。问题是tomcat配置为从数据库中获取用户。一个知道这一切如何运作的员工离开了公司,所以我不得不追踪这一切。

如果您在项目web.xml中有一个类似这样的Web应用程序:

<security-role>
    <role-name>manager</role-name>
</security-role>

你应该知道这是使用与tomcat相同的系统登录!因此,无论您的经理角色用户在哪里定义,您都应该在这里定义您的经理角色和用户。 在server.xml中我找到了:

 <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="org.gjt.mm.mysql.Driver"
    connectionURL="jdbc:mysql://localhost/<DBName>?user=<DBUser>&amp;password=<DBPassword>"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />

这告诉我有一个存储所有用户和角色的数据库。这会覆盖tomcat-users.xml文件。除非该Realm被注释掉,否则该文件中的任何内容都不起作用。解决方案是将您的tomcat用户添加到users表,将manager-gui角色添加到user_roles表:

insert into users (user_name, user_pass) values ('tomcat', '<changeMe>');
insert into user_roles (user_name, role_name) values ('tomcat', 'manager-gui');

你还应该有一个&#34; manager-gui&#34;角色表中的rolename。如果它不存在,请添加它。希望这有助于某人。

答案 5 :(得分:1)

您的网站为空,因为../webapps文件夹中缺少 ROOT 目录。有关具体位置,请参阅tomcat documentation

答案 6 :(得分:0)

就我而言,文件夹是_Manager。 在我将其重命名为Manager之后,它起作用了。

现在,我看到登录弹出窗口,我从conf / tomcat-users.xml输入凭据,一切正常。

答案 7 :(得分:0)

在tomcat-users中输入角色和用户后,如果仍然无法正常工作,请确保您的tomact服务器位置指向正确的服务器位置

答案 8 :(得分:0)

我今天遇到了这个问题。我正在使用Centos7,解决方案是安装 tomcat-admin-webapp 软件包。

yum install tomcat-webapps tomcat-admin-webapps

答案 9 :(得分:-5)

尝试将localhost替换为您的“计算机名称”,即http://localhost:8080http://system09:8080