欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 如何在本地和线上安装和配置RabbitMQ

如何在本地和线上安装和配置RabbitMQ

2025/2/21 5:17:29 来源:https://blog.csdn.net/weixin_69912448/article/details/145717309  浏览:    关键词:如何在本地和线上安装和配置RabbitMQ

文章目录

  • 一. 本地
    • 1.1 安装
    • 1.2 访问
    • 1.3 配置
    • 1.4 运行
  • 二. 线上
    • 2.1 服务器安装 RabbitMQ
      • 2.1.1 安装 DNF
      • 2.1.2 安装 RabbitMQ
      • 2.1.3 登录 web 管理界面
      • 2.1.4 创建用户
      • 2.1.5 禁用默认用户远程访问
      • 2.1.6 配置
      • 2.1.7 运行启动
    • 2.2 宝塔面板安装 RabbitMQ
      • 2.2.1 安装 RabbitMQ
      • 2.2.2 登录 web 管理界面
      • 2.2.3 创建用户
      • 2.2.4 禁用默认用户远程访问
      • 2.2.5 配置
      • 2.2.6 运行启动
  • 三. 初始化 RabbitMQ
    • 3.1 本地
    • 3.2 线上
  • 四. 启动项目
  • 五. 异常

一. 本地

1.1 安装

安装 Erlang + RabbitMQ,先安装 Erlang

  • Erlang 。https://www.erlang.org
  • 依赖安装完毕,就可以安装 RabbitMQ 了。(安装 RabbitMQ 直接双击 exe 程序即可安装)https://www.rabbitmq.com/docs/install-windows
  • 去查看系统服务,按[win + R],输入命令services.msc。找到 RabbitMQ 服务,右键 Start,状态为正在运行,搞定。
  • 安装rabbitmq-plugins(插件管理)。

windows 系统所有的脚本全是 bat 文件,这个命令不能直接运行;所以要给这条命令加上 .bat,然后复制这条命令。

rabbitmq-plugins.bat enable rabbitmq_management

找到安装 RabbitMQ 路径的位置,进入sbin目录,这里面都是 RabbitMQ 的执行脚本。

  • rabbitmq-server.bat:操作 RabbitMQ 服务器相关的命令。
  • rabbitmq-plugins.bat:用来安装 RabbitMQ 的插件。

在目录栏上输出cmd,打开命令提示符;以管理员身份运行。

将命令粘贴到此处,回车,显示已经启动了,并配置了一些插件。

这里显示要重新启动后才生效,输入以下命令。

# 关闭服务
net stop rabbitmqnet stop rabbitmq 
# 开启服务
net start rabbitmq 

1.2 访问

访问 http://localhost:15672,打开本地 web 管理页面;默认用户名密码都是 guest(文档有说明),点击Login

文档还有说明端口访问的端口号,15672 是监控面板的 UI;

ps.里面的 5672、15672 很重要,我们的应用程序之间就是通过 5672 端口来和 RabbitMQ 做链接的,就像 redis 的6379,es 的 9200是一样的。

登录 RabbitMQ 的管理页面。

就能看见 RabbitMQ 的管理页面。

1.3 配置

  rabbitmq:host: localhostpassword: guestusername: guestport: 5672virtual-host: /listener:direct:acknowledge-mode: manual

username和 password是guest是默认的。

virtual-host: /

1.4 运行

二. 线上

下面几个常用端口是需要放行的

  • 3306 MySQL
  • 6379 Redis
  • 15672 RabbitMQ web 面板
  • 5672 RabbitMQ
  • 22 端口 SSH
  • 443 HTTPS
  • 80 HTTP

2.1 服务器安装 RabbitMQ

2.1.1 安装 DNF

yum install epel-release

语句执行后,输入y即可。

yum install dnf

语句执行后,输入y即可。

安装成功

2.1.2 安装 RabbitMQ

  1. 指定仓库
sudo dnf install -y https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm
  1. 安装 rabbitmq 默认会安装 erlang
sudo dnf install -y rabbitmq-server-3.3.5-34.el7
  1. 开启 web 管理页面
sudo rabbitmq-plugins enable rabbitmq_management
  1. 启动 RabbitMQ
sudo systemctl start rabbitmq-server
  1. 查看运行状态
systemctl status rabbitmq-server
  1. 设置开机自启动
sudo systemctl enable rabbitmq-server

2.1.3 登录 web 管理界面

访问http://服务器IP:15672;打开服务器web 管理页面;默认账号、密码都是 guest;要是报错就自己再仔细看看是不是输入错误了。

2.1.4 创建用户

**注意:**如果你打算在自己的服务器上部署 RabbitMQ,你必须知道在默认设置下,使用 guest 账号是无法访问的。为何会这样呢?原因在于系统安全性的需求。如果你想从远程服务器访问管理面板,你需要创建一个新的管理员账号,不能使用默认的 guest 账号,否则会被系统拦截,导致无法访问或登录。

设置。云服务器中输入下面的命令。云服务器或者tabby中输入下面命令即可。

添加新用户

rabbitmqctl add_user 'username' '2a55f70a841f18b97c3a7db939b7adc9e34a0f1b'

删除新用户

rabbitmqctl delete_user 'username'

新建虚拟主机

rabbitmqctl add_vhost my_vhost

新增加的用户赋予权限。

# First ".*" for configure permission on every entity
# Second ".*" for write permission on every entity
# Third ".*" for read permission on every entity
rabbitmqctl set_permissions -p "custom-vhost" "username" ".*" ".*" ".*"

2.1.5 禁用默认用户远程访问

点击右侧的 User guest,会发现该用户拥有管理员权限,但这仅限于本地访问。如果你直接上线并使用默认的管理员权限,你可以想象可能出现的问题。比如,攻击者可能会扫描你服务器的端口,并不断尝试用 guest 账号登录。一旦找到一个开放的端口并用 guest 登录,攻击者就可以入侵你的服务器,然后在消息队列中不断添加消息,填满你的服务器硬盘。因此,为了安全,系统默认关闭了 guest 账号的远程访问权限,这也是官方出于安全考虑的措施。

关闭允许 guest 用户远程访问,为了安全。

2.1.6 配置

  # rabbitmq 信息rabbitmq:host: *******password: ***username: *port: 5672listener:direct:acknowledge-mode: manual

等到部署到服务器上的时候
• host 服务器 IP 或者 域名
• port 端口默认 5672
• password 密码
• username 账号

2.1.7 运行启动

2.2 宝塔面板安装 RabbitMQ

下面几个端口是需要放行的

  • 3306 MySQL
  • 6379 Redis
  • 15672 RabbitMQ web 面板
  • 5672 RabbitMQ
  • 22 端口 SSH
  • 443 HTTPS
  • 80 HTTP

2.2.1 安装 RabbitMQ

  1. 安装。宝塔面板安装rabbitmq。
  2. 宝塔面板、服务器同时开放5672、15672的端口。

面板的管理员权限中更改管理员用户名和密码

2.2.2 登录 web 管理界面

  1. 访问http://服务器IP:15672;打开服务器web 管理页面。
  2. 账号、密码是 上面的管理员用户名和密码;要是报错就自己再仔细看看是不是输入错误了。
  3. 切忌不要使用新创建用户的用户名和密码;无法登录。

2.2.3 创建用户

**注意:**如果你打算在自己的服务器上部署 RabbitMQ,你必须知道在默认设置下,使用 guest 账号是无法访问的。为何会这样呢?原因在于系统安全性的需求。如果你想从远程服务器访问管理面板,你需要创建一个新的管理员账号,不能使用默认的 guest 账号,否则会被系统拦截,导致无法访问或登录。

  1. 创建用户

  1. 允许远程连接

执行好之后添加好的用户 Can access virtual hosts 那一栏就不会是黄颜色的了。

2.2.4 禁用默认用户远程访问

点击右侧的 User guest,会发现该用户拥有管理员权限,但这仅限于本地访问。如果你直接上线并使用默认的管理员权限,你可以想象可能出现的问题。比如,攻击者可能会扫描你服务器的端口,并不断尝试用 guest 账号登录。一旦找到一个开放的端口并用 guest 登录,攻击者就可以入侵你的服务器,然后在消息队列中不断添加消息,填满你的服务器硬盘。因此,为了安全,系统默认关闭了 guest 账号的远程访问权限,这也是官方出于安全考虑的措施。

关闭允许 guest 用户远程访问,为了安全。

2.2.5 配置

  # rabbitmq 信息rabbitmq:host: *******password: ***username: *port: 5672listener:direct:acknowledge-mode: manual

等到部署到服务器上的时候
• host 服务器 IP 或者 域名
• port 端口默认 5672
• password 密码
• username 账号

2.2.6 运行启动

三. 初始化 RabbitMQ

3.1 本地

执行完需要 初始化的 Main 方法

执行完这两个 初始化的 Main 方法之后,打开本地 web 管理页面;发现队列中有多出来的初始化队列即可。

3.2 线上

配置Host、Usernamen、Password、Port;Port如果是默认的5672可以不配置。

其余初始化和本地一样。

四. 启动项目

  1. 启动MainApplication。
  2. 直接点击 Enable annotation processing
  3. 访问接口文档

五. 异常

如果说你首次执行比bi项目,想要使用消息队列功能的话

启动项目时,有下面的异常:

org.springframework.amqp.rabbit.listener.BlockingQueueConsumer$DeclarationException: Failed to declare queue(s):[bi_queue]

原因:这个队列还没声明,需要跑一段代码声明,跑一次就行了

先要初始化自己创建队列

执行main方法后,再次执行项目即可。

直接点击 Enable annotation processing
然后访问接口文档。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词