CentOS 7安装RabbitMQ

CentOS 7安装RabbitMQ

  • 安装目标
  • 安装准备
    • 环境要求
    • 安装前环境检测
      • 1. 查看是否已存在Erlang
          • 1. 1安装Erlang(若不存在Erlang)
      • 2. 查看是否已存在Socat
          • 2. 1安装Socat(若不存在Socat)
  • 安装
    • 1. 安装
    • 2. 卸载erlang
  • 运行
  • 配置
    • 用户配置
    • 配置用户远程访问
    • 重启服务并开放端口
      • 重启
      • 开放端口
    • 常用操作命令
  • 最新版简要安装方法

安装目标

  • RabbitMQ 3.7+
  • CentOS 7.X

安装准备

环境要求

  • CentOS 7.X
  • Erlang 20.2(RabbitMQ要求是19.3-20.2.x)
  • RabbitMQ 3.7.x

安装前环境检测

1. 查看是否已存在Erlang

# 输入erl
[root@iZj6cd8qvb ~]# erl
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V5.10.4  (abort with ^G)
1>
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
       (v)ersion (k)ill (D)b-tables (d)istribution
1. 1安装Erlang(若不存在Erlang)
  • 创建Yum源
#创建yum源
sudo vi /etc/yum.repos.d/rabbitmq-erlang.repo

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

  • 安装
# 包信息下载到本地缓存起来
$ yum clean all
$ yum makecache

$ sudo yum install -y erlang
  • 验证
#进入erlang命令行表示成功
erl

2. 查看是否已存在Socat

# 输入 socat -V   (注意V是大写)
[root@iZj6cd8qvbjscuf5wpk7tpZ ~]# socat -V
socat by Gerhard Rieger and contributors - see www.dest-unreach.org
socat version 1.7.3.2 on Aug  4 2017 04:57:10
   running on Linux version #1 SMP Tue Mar 5 16:33:41 EST 2019, release 5.0.0-2.el7.elrepo.x86_64, machine x86_64
features:
...
2. 1安装Socat(若不存在Socat)
$ sudo yum install -y socat

安装

1. 安装

sudo rpm -Uvh https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-3.7.15-1.el7.noarch.rpm

2. 卸载erlang

有时候,版本要求不一致,则需要卸载原有的erlang,再重新安装erlang。
只适合于使用yum install命令安装的erlang

# 列出列表  yum list | grep erlang

[root@iZj6cd8 ~]# yum list | grep erlang
erlang.x86_64                            R16B-03.18.el7                  @epel
erlang-appmon.x86_64                     R16B-03.18.el7                  @epel
erlang-asn1.x86_64                       R16B-03.18.el7                  @epel
erlang-common_test.x86_64                R16B-03.18.el7                  @epel
erlang-compiler.x86_64                   R16B-03.18.el7                  @epel
erlang-cosEvent.x86_64                   R16B-03.18.el7                  @epel
erlang-cosEventDomain.x86_64             R16B-03.18.el7                  @epel
erlang-cosFileTransfer.x86_64            R16B-03.18.el7                  @epel
erlang-cosNotification.x86_64            R16B-03.18.el7                  @epel
erlang-cosProperty.x86_64                R16B-03.18.el7                  @epel
erlang-cosTime.x86_64                    R16B-03.18.el7                  @epel
erlang-cosTransactions.x86_64            R16B-03.18.el7                  @epel
erlang-crypto.x86_64                     R16B-03.18.el7                  @epel
erlang-debugger.x86_64                   R16B-03.18.el7                  @epel
erlang-dialyzer.x86_64                   R16B-03.18.el7                  @epel
erlang-diameter.x86_64                   R16B-03.18.el7                  @epel
# 删除erlang
[root@iZj6cd8 ~]# yum remove erlang.x86_64
...

运行

#启动服务
sudo systemctl start rabbitmq-server

#查看状态
sudo systemctl status rabbitmq-server

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

配置

用户配置

#添加用户
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

配置用户远程访问

新版本只允许guest登录localhost访问,其他都需要配置进行远程访问

#修改配置文件
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

常用操作命令

# 添加用户
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>
启动RabbitMQ服务
#service rabbitmq-server start
状态查看
#rabbitmqctl status
启用插件
#rabbitmq-plugins enable rabbitmq_management
重启服务
#service rabbitmq-server restart
添加帐号:name 密码:passwd
#rabbitmqctl add_user name passwd
赋予其administrator角色
#rabbitmqctl set_user_tags name administrator
设置权限
#rabbitmqctl set_permissions -p / name ".*" ".*" ".*"

最新版简要安装方法

现在安装RabbiMQ相对简单了,执行几步就可以了
RabbitMQ官网提供了新版的rpm包,安装时会安装相对应的依赖,如erlang等

  1. 在yum中添加erlang的源
[root@iZj6cd8 ~]#  vim /etc/yum.repos.d/rabbitmq-erlang.repo
  1. 加入以下内容
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/21/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
  1. 本地缓存起来
# 包信息下载到本地缓存起来
$ yum clean all
$ yum makecache
  1. 下载RabbitMQ的RPM包
[root@iZj6cd8 ~]# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-3.7.15-1.el7.noarch.rpm
  1. 安装
[root@iZj6cd8 ~]# yum install rabbitmq-server-3.7.15-1.el7.noarch.rpm
# yum会自动去源里安装依赖包

参考链接:
https://ken.io/note/centos7-rabbitmq-install-setup

你可能感兴趣的:(+Operation/运维,运维笔记)