手把手教你 centos 7 安装RabbitMQ

我使用的Linux搭建,搭建流程可参考官网:https://www.rabbitmq.com/install-rpm.html

查看系统版本号,Rabbitmq 对 Erlang 有版本要求,不能使用太旧的Erlang版本:https://www.rabbitmq.com/which-erlang.html

Erlang下载地址:https://github.com/rabbitmq/erlang-rpm/releases

1、下载rpm包

  • erlang-23.3.4.8-1.el7.x86_64.rpm

  • rabbitmq-server-3.10.5-1.el8.noarch.rpm

2、上传至服务器

#创建存放目录
mkdir -p /usr/rabbitmq

3、安装文件

[root@xiaobear rabbitmq]# rpm -Uvih erlang-25.0.2-1.el8.x86_64.rpm 
警告:erlang-25.0.2-1.el8.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID cc4bbe5b: NOKEY
错误:依赖检测失败:
	libcrypto.so.1.1()(64bit) 被 erlang-25.0.2-1.el8.x86_64 需要
	libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) 被 erlang-25.0.2-1.el8.x86_64 需要
	libcrypto.so.1.1(OPENSSL_1_1_1)(64bit) 被 erlang-25.0.2-1.el8.x86_64 需要
	libstdc++.so.6(CXXABI_1.3.9)(64bit) 被 erlang-25.0.2-1.el8.x86_64 需要
	libtinfo.so.6()(64bit) 被 erlang-25.0.2-1.el8.x86_64 需要
	libz.so.1(ZLIB_1.2.7.1)(64bit) 被 erlang-25.0.2-1.el8.x86_64 需要

PS:这是因为下载版本的问题,el8下载的是8的版本,改回下载7的就可以了

我下载的版本:erlang-23.3.4.8-1.el7.x86_64.rpm

[root@xiaobear rabbitmq]# rpm -Uivh erlang-23.3.4.8-1.el7.x86_64.rpm 
警告:erlang-23.3.4.8-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID cc4bbe5b: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:erlang-23.3.4.8-1.el7            ################################# [100%]
[root@xiaobear rabbitmq]# yum install socat -y

查看版本

# 测试
erl -version

rabbitmq在安装过程中需要依赖socat这个插件,需要先安装

[root@xiaobear rabbitmq]# rpm -ivh rabbitmq-server-3.10.5-1.el8.noarch.rpm 
警告:rabbitmq-server-3.10.5-1.el8.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 6026dfca: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:rabbitmq-server-3.10.5-1.el8     ################################# [100%]
[root@xiaobear rabbitmq]# 

4、常用命令

#开机启动 chkconfig rabbitmq-server on会转发到下面命令
systemctl enable rabbitmq-server.service
# 启动服务
systemctl start rabbitmq-server
# 查看服务状态,running表示启动成功
systemctl status rabbitmq-server.service
# 开机自启动
systemctl enable rabbitmq-server
# 停止服务
systemctl stop rabbitmq-server

5、安装Web管理插件

rabbitmq-plugins enable rabbitmq_management
#安装完成后,重启服务
systemctl restart rabbitmq-server

6、访问web页面

访问地址:服务器 IP+端口号(默认15672),若没有反应,请开放端口,执行下面命令

# 防火墙开放15672端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload

注意:

  • 在对应服务器(阿里云,腾讯云等)的安全组中开放15672端口(rabbitmq默认端口号),5672端口后续程序需要使用也要开放
  • rabbitmq有一个默认账号和密码都是:guest默认情况只能在 localhost本计下访问,所以需要添加一个远程登录的用户

7、添加用户

  • 创建账号

    rabbitmqctl add_user admin admin123
    
  • 分配角色

    rabbitmqctl set_user_tags admin administrator
    

    用户操作权限分四种级别:

    1. administrator:可以登录控制台、查看所有信息、可以对 rabbitmq进行管理
    2. monitoring:监控者 登录控制台,查看所有信息
    3. policymaker:策略制定者 登录控制台,指定策略
    4. managment 普通管理员 登录控制台
  • 设置权限

    set_permissions [-p ]

    用户 user_admin 具有/vhost1 这个 virtual host 中所有资源的配置、写、读权限当前用户和角色

    rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
    
  • 再次访问登录,即可成功

8、重置命令

#关闭应用的命令
rabbitmqctl stop_app
#清除的命令
rabbitmqctl reset
#重新启动命令
rabbitmqctl start_app

9、其他命令

# 添加账号、密码
rabbitmqctl add_user
# 设置账号为管理员
rabbitmqctl set_user_tags 账号 administrator
# 修改账号密码
rabbitmqctl change_password Username Newpassword
# 查看用户清单
rabbitmqctl list_users
# 添加账号查看资源的权限
rabbitmqctl set_permissions -p / 用户名 ".*"".*"".*"

版权声明:本文为Y_hanxiong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。