35

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

主页、/docs、/examples 都可以正常工作,而我的日志什么也没有显示。我该如何解决?我在 Windows 7 64 位上使用 Tomcat 6.0.20 和 JDK 1.6.0_21。

4

10 回答 10

28

您必须检查您的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

<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

我希望这对你有用。

于 2012-05-21T10:27:41.107 回答
11

您必须先启用访问权限:配置管理器应用程序访问权限

于 2010-08-20T21:48:29.233 回答
6

当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. 通过从您的 tomcat/bin 目录运行“sh version.sh”检查安装的 tomcat 版本
  2. 下载对应版本的tomcat
  3. 停止Tomcat
  4. 从您下载的发行版中删除您的 webapps/manager 目录和复制管理器应用程序。
  5. 启动tomcat

现在您应该可以访问 tomcat 管理器了。

于 2012-12-26T16:22:32.557 回答
2

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

我的解决方案:关闭代理

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

于 2014-03-07T20:56:02.200 回答
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 文件。除非该领域被注释掉,否则该文件中的任何内容都不起作用。解决方案是将您的 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');

您还应该在角色表中有一个“manager-gui”角色名。如果它不存在,请添加它。希望这可以帮助某人。

于 2017-10-25T14:31:10.240 回答
1

您的网站是空白的,因为您的文件夹中缺少ROOT../webapps目录。有关它应该在哪里的具体位置,请参阅tomcat 文档。

于 2012-08-21T17:05:06.850 回答
0

在 tomcat-users 中输入角色和用户后,如果不起作用,请确保您的 tomact 服务器位置指向正确的服务器位置

于 2020-05-28T14:15:53.290 回答
0

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

yum install tomcat-webapps tomcat-admin-webapps
于 2020-06-17T08:47:01.183 回答
0

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

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

于 2015-12-15T22:20:18.183 回答
-6

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

于 2013-11-06T05:19:59.863 回答