欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RabbitMQ 安装及应用

程序员文章站 2022-07-12 13:15:43
...

Linux下安装

本文在 centos7 下安装

安装erlang环境

首先安装erlang环境,目前最新最快的安装erlang的方法如下:

1. cd /etc/yum.repos.d/
2. vim rabbitmq-erlang.repo
3. 编辑repo文件中内容,具体根据Linux型号设置,可参考以下粘贴的配置,也可进入下面给的官网链接查看
4. 编辑完毕后:   yum -y install erlang

Erlang 20.x

To use Erlang 20.x on CentOS 7:

[rabbitmq-erlang]
name=rabbitmq-erlang 
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7 
gpgcheck=1 
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc 
repo_gpgcheck=0 enabled=1

To use Erlang 20.x on CentOS 6:

[rabbitmq-erlang] 
name=rabbitmq-erlang 
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/6 
gpgcheck=1 
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc 
repo_gpgcheck=0 
enabled=1

Erlang 19.x

To use Erlang 19.x on CentOS 7:

[rabbitmq-erlang] 
name=rabbitmq-erlang 
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/19/el/7 
gpgcheck=1 
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc 
repo_gpgcheck=0 
enabled=1

To use Erlang 19.x on CentOS 6:

[rabbitmq-erlang] 
name=rabbitmq-erlang 
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/19/el/6 
gpgcheck=1 
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc 
repo_gpgcheck=0 
enabled=1

更具体的参考见官网 https://bintray.com/rabbitmq/rpm/erlang#read

安装erlang

yum -y install erlang

看到complet后Erlang就安装成功了,输入 erl 查看.

 

安装 RabbitMQ

首先安装socat依赖,如果没有socat安装 rabbitmq会报错。

yum -y install socat

然后去RabbitMQ官网下载刚刚下载的erlang所支持的rabbitmq的版本,下载后上传到Linux系统上进行安装。

这里因为yum下载的是最新的20.1版本的 Erlang,因此我下载了最新版本3.6.14的 Rabbitmq-server 进行安装。

上传后在 rpm 目录下使用如下命令安装:

rpm -ivh rabbitmq-server-3.6.14-1.el6.noarch.rpm

RabbitMQ使用

systemctl start rabbitmq-server.service # 启动
systemctl stop rabbitmq-server.service # 停止
systemctl status rabbitmq-server.service # 查看运行状态
开启web界面管理工具插件
rabbitmq-plugins enable rabbitmq_management
开放5672(amqp),15672(web端口),25672(集群端口)。
firewall-cmd --query-port=15672/tcp  # 查看端口
firewall-cmd --permanent --zone=public --add-port=15672/tcp  # 对外开放端口,三个端口都添加一下

然后重启防火墙
systemctl restart firewalld.service

netstat -ntlp | grep 15672 # 查看端口使用情况

到这一步就可以使用web访问 rabbitmq 服务了,使用guest或者创建一个新的用户用于登录。

配置rabbitmq.config的配置文件

配置rabbitmq.config的配置文件可以更方便对rabbitmq进行控制。

cp /usr/share/doc/rabbitmq-server-3.6.14/rabbitmq.config.example /etc/rabbitmq/
cd /etc/rabbitmq
mv rabbitmq.config.example rabbitmq.config

默认rabbitmq的guest用户只能本机登录,如想远程使用guest登录需要修改rabbitmq.config配置文件,一般不建议这么作,建议直接创建一个新的用户并分配相应的权限专门用于远程登录。

vim /etc/rabbitmq/rabbitmq.config

找到{loopback_users, []},放开注释。同时注意去掉后面的逗号。

这样就可以远程使用guest用户进行登录了。

RabbitMQ 应用命令

  • 创建用户
rabbitmqctl add_user Username Password

rabbitmqctl add_user test 123456
  • 删除用户
rabbitmqctl  delete_user  Username
  • 修改用户密码
rabbitmqctl  change_password  Username  Newpassword
  • 设置用户角色

用户角色可分为五类,超级管理员(administrator), 监控者(monitoring), 策略制定者(policymaker), 普通管理者(management)以及其他。

rabbitmqctl  set_user_tags  User  Tag
rabbitmqctl  set_user_tags  username  monitoring  policymaker # 同一用户设置多个角色

rabbitmqctl  set_user_tags  test  administrator
  • 设置用户权限
rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP

rabbitmqctl set_permissions -p "/" test ".*" ".*" ".*"
  • 查看(指定hostpath)所有用户的权限信息
rabbitmqctl  list_permissions  [-p  VHostPath]
  • 查看指定用户的权限信息
rabbitmqctl  list_user_permissions  User
  • 清除用户的权限信息
rabbitmqctl  clear_permissions  [-p VHostPath]  User
  • 查看用户和角色
rabbitmqctl list_users

站在巨人的肩膀上学习,博文在自己学习时编写,参考过多篇博文,如文中不慎有涉及到侵权的段落或文本,请联系博主删除。文中难免会有纰漏或者错误的地方,请各位看官批评指正。