RabbitMQ 未定义:js/tmpl/login.ejs 处没有模板

RabbitMQ undefined: There is no template at js/tmpl/login.ejs

突然间,当我尝试访问 RabbitMQ 时,它只在屏幕上显示:

undefined: There is no template at js/tmpl/login.ejs

如有任何帮助,我们将不胜感激。

更新:

现在显示浏览器默认错误: Connection Refused

由于 rabbitMQ 命令挂起并需要强制停止,因此通过重新启动 Linux 服务器解决了这个问题。

希望这对某人有所帮助。

关闭 RabbitMQ 服务后,我的 Windows 服务器 运行 RabbitMQ 出现了相同的症状,并且它拒绝重新启动。

我在不重启的情况下解决问题的步骤:

  1. 文件夹 C:\Users\[ADMIN_ACCOUNT_USERNAME_HERE]\AppData\Roaming\RabbitMQ\log 中名为 rabbit@[SERVER_NAME_HERE].log 的 RabbitMQ 日志文件很大(12+ GB);我重命名它以便 RabbitMQ 可以创建一个新的日志文件。
  2. 我再次尝试在 services.msc 中启动 RabbitMQ 服务,但再次失败。
  3. 新的 rabbit@[SERVER_NAME_HERE].log 文件报告无法删除特定文件夹:

cannot_delete, "c:/Users/[ADMIN_ACCOUNT_USERNAME_HERE]/AppData/Roaming/RabbitMQ/db/rabbit@[SERVER_NAME_HERE]-plugins-expand/rabbitmq_management-3.3.5/priv/www/cli",

  1. 我试图在 Windows 资源管理器中重命名 cli 文件夹,但出现 "That folder is in use by another process" 错误。
  2. 我下载了 Sysinternals Handle.exe 实用程序并 运行 它带有参数 "RabbitMQ",这表明日志文件报告的文件夹 (cli) 不能' t 被删除被具有特定进程 ID 的 rundll32.exe 进程锁定。
  3. 我在任务管理器中杀死了那个 rundll32.exe 实例(在视图菜单上打开进程 ID 显示之后)。
  4. 我又启动了RabbitMQ服务,这次成功了!

tl;dr

一个特定的 Windows 进程正在锁定 RabbitMQ 想要删除的文件夹作为其启动过程的一部分。使用 Sysinternals Handle 实用程序识别该进程,然后将其终止,从而使 RabbitMQ 成功启动。

运行 进入类似问题:

错误信息:

throw:{error, {cannot_delete_plugins_expand_dir, ["/usr/local/var/lib/rabbitmq/mnesia/rabbit@localhost-plugins-expand", {cannot_delete, "/usr/local/var/lib/rabbitmq/mnesia/rabbit@localhost-plugins-expand/rabbitmq_amqp1_0-3.7.3/ebin/rabbitmq_amqp1_0.app", eacces}]}}

手动删除了bin中的文件,然后重启了rabbitmq服务器,成功了!

原因是之前的rabbitmq服务被错误关闭

我也遇到了这个问题,是由于rabbit MQ shutdown过程中的一些问题导致的。卸载 RabbitMQ 并重新安装(更新版本!)后问题仍然存在。我在 C:\Users\[ADMIN_ACCOUNT_USERNAME]\AppData\Roaming\RabbitMQ

手动删除整个文件夹后问题才得到解决

如果您使用的是 VPN(在家工作),请记得检查 VPN 连接是否仍然有效。可能只是您需要重新连接网络才能访问服务器。

如果有人在 localhost 中使用它,我会去

services.msc

并启动服务

Emran 的上述评论帮助我意识到我需要停止 docker 并重建容器。

docker-compose stop

您可以:

docker exec -it rabbitmq
rabbitmq-plugins enable rabbitmq_management