CentOS 7 下RabbitMQ 3.7 安装与配置

一、前言

本篇文章适用范围?
  • RabbitMQ 3.7+
  • CentOS 7
环境信息?
  • CentOS 7.X
  • Erlang 20.2(RabbitMQ要求是19.3-20.2.x)
  • RabbitMQ 3.7.x

二、RabbitMQ安装

  • 安装Erlang(19.3+)

https://ken.io/note/centos7-erlang-install

  • 安装 socat
sudo yum install -y socat
  • RPM安装

官网下载地址:https://www.rabbitmq.com/install-rpm.html

sudo rpm -Uvh https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.3/rabbitmq-server-3.7.3-1.el7.noarch.rpm

如果遇到erlang已安装且版本正确,但是RabbitMQ检测失败的情况 可以追加参数 —nodeps (不验证软件包依赖)

  • 启动RabbitMQ服务
#启动服务
sudo systemctl start rabbitmq-server

#查看状态
sudo systemctl status rabbitmq-server

#设置为开机启动
sudo systemctl enable rabbitmq-server

三、RabbitMQ配置

  • 添加用户
#添加用户
sudo rabbitmqctl add_user admin pwd

#设置用户角色
sudo rabbitmqctl set_user_tags admin administrator

#tag(administrator,monitoring,policymaker,management)

#设置用户权限(接受来自所有Host的所有操作)
sudo rabbitmqctl  set_permissions -p "/" admin '.*' '.*' '.*'  

#查看用户权限
sudo rabbitmqctl list_user_permissions admin
  • 配置远程访问
#修改配置文件
sudo vi /etc/rabbitmq/rabbitmq.config 

#保存以下内容
[
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["admin"]}]}
].
  • 重启服务
sudo systemctl restart rabbitmq-server
  • 开放端口
#开放端口
sudo firewall-cmd --add-port=5672/tcp --permanent

#重新加载防火墙配置
sudo firewall-cmd --reload

备注

  • RabbitMQ常用命令
# 添加用户
sudo rabbitmqctl add_user <username> <password>  

# 删除用户
sudo rabbitmqctl delete_user <username>  

# 修改用户密码
sudo rabbitmqctl change_password <username> <newpassword>  

# 清除用户密码(该用户将不能使用密码登陆,但是可以通过SASL登陆如果配置了SASL认证)
sudo rabbitmqctl clear_password <username> 

# 设置用户tags(相当于角色,包含administrator,monitoring,policymaker,management)
sudo rabbitmqctl set_user_tags <username> <tag>

# 列出所有用户
sudo rabbitmqctl list_users  

# 创建一个vhosts
sudo rabbitmqctl add_vhost <vhostpath>  

# 删除一个vhosts
sudo rabbitmqctl delete_vhost <vhostpath>  

# 列出vhosts
sudo rabbitmqctl list_vhosts [<vhostinfoitem> ...]  

# 针对一个vhosts给用户赋予相关权限;
sudo rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>  

# 清除一个用户对vhosts的权限;
sudo rabbitmqctl clear_permissions [-p <vhostpath>] <username>  

# 列出哪些用户可以访问该vhosts;
sudo rabbitmqctl list_permissions [-p <vhostpath>]   

# 列出用户访问权限;
sudo rabbitmqctl list_user_permissions <username>
  • 本文参考

https://www.rabbitmq.com/download.html

https://github.com/judasn/Linux-Tutorial/blob/master/RabbitMQ-Install-And-Settings.md

http://blog.csdn.net/zyz511919766/article/details/42292655

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏遊俠扎彪

Linux下安装Oracle SQL*Plus加强工具rlwrap

Linux的SQL*Plus不太好用,通过安装rlwrap可以提高用户体验,这样就可以使用光标上下键来查找历史命令,使用退格键backspace了。

2078
来自专栏Java学习123

DOS批处理中%cd%和%~dp0的区别

2173
来自专栏好好学习吧

Windows 7 下使用gitblit + git 搭建小组内文件版本控制环境

使用前先看下GitBlit的百科介绍,很简洁:需要java运行环境;是一个纯 Java 库用来管理、查看和处理Git 资料库。即一个基于Java的分布式版本控制...

1.2K3
来自专栏蓝天

检测Linux系统是否支持某系统调用

check_syscall.zip 随内核版本的变化,会增加一些新的系统调用,但如果glibc没有跟上,则不能直接调用,这个时候可以自己包装一下。如果想知道内...

883
来自专栏河湾欢儿的专栏

nginx服务的快速搭建(跨域)

原文地址https://github.com/gs3170981/nginx_quick 1.下载以后有一个server.js 文件

1021
来自专栏python3

python 模块

这打印的,就是python的全局环境变量。这里面都是路径,路径里面存的都是什么呢?就是python导入一个库或者python内部自己进行调用的时候,它就在这些路...

793
来自专栏Hongten

将cmd中命令输出保存为TXT文本文件

例如:将Ping命令的加长包输出到D盘的ping.txt文本文件。 1、在D:目录下创建文本文件ping.txt(这步可以省略,偶尔提示无法创建文件时需要) 2...

2041
来自专栏跟着阿笨一起玩NET

修改资源管理器打开后的默认路径为计算机目录的方法

本文转载:http://www.2cto.com/os/201206/135775.html

2111
来自专栏Kotlin入门系列

win7基础 cmd 桌面空白处,按住shift后,通过右键菜单启动cmd窗口

2485
来自专栏pangguoming

mongo 3.0 备份和还原数据库 ,及too many positional arguments错误

在mongo 3.0的操作 备份示例 ./mongodump -h localhost -d liongo -o ./ 错误方式: ./mongorestore...

9563

扫码关注云+社区

领取腾讯云代金券