嗨,我刚刚安装了 Tomcat,并且正在尝试启动并运行它,但是每当我尝试导航到 manager/html 时,它都会给我这个错误“请求的资源 (/manager/html) 不可用”。
主页、/docs、/examples 都可以正常工作,而我的日志什么也没有显示。我该如何解决?我在 Windows 7 64 位上使用 Tomcat 6.0.20 和 JDK 1.6.0_21。
嗨,我刚刚安装了 Tomcat,并且正在尝试启动并运行它,但是每当我尝试导航到 manager/html 时,它都会给我这个错误“请求的资源 (/manager/html) 不可用”。
主页、/docs、/examples 都可以正常工作,而我的日志什么也没有显示。我该如何解决?我在 Windows 7 64 位上使用 Tomcat 6.0.20 和 JDK 1.6.0_21。
您必须检查您的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
我希望这对你有用。
您必须先启用访问权限:配置管理器应用程序访问权限
当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/
修复它的步骤:
现在您应该可以访问 tomcat 管理器了。
我的问题/解决方案非常尴尬,但谁知道......也许它发生在其他人身上:
我的解决方案:关闭代理
在过去的两个小时里,我一直在想为什么我的经理不会加载。(根已缓存,因此已加载)。我已将浏览器的代理设置为代理到我家的流量。:/
即使我的 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>&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”角色名。如果它不存在,请添加它。希望这可以帮助某人。
您的网站是空白的,因为您的文件夹中缺少ROOT../webapps
目录。有关它应该在哪里的具体位置,请参阅tomcat 文档。
在 tomcat-users 中输入角色和用户后,如果不起作用,请确保您的 tomact 服务器位置指向正确的服务器位置
我今天遇到了这个问题。我正在使用 Centos7,解决方案是安装tomcat-admin-webapp包。
yum install tomcat-webapps tomcat-admin-webapps
就我而言,该文件夹是_Manager。在我将其重命名为 Manager 后,它起作用了。
现在,我看到登录弹出窗口并从 conf/tomcat-users.xml 输入凭据,一切正常。
一旦尝试将 localhost 替换为您的“计算机名称”,http://localhost:8080
即http://system09:8080