在 CentOS 7 下 RabbitMQ 3.7 安装与配置

[TOC]

注意事项

RabbitMQ 和 Erlang 的版本对应

环境

  1. CentOS 7.X
  2. Erlang 20.2RabbitMQ要求是19.3-20.2.x
  3. RabbitMQ 3.7.x

准备工作

安装Erlang(19.3+)

https://segmentfault.com/a/1190000016351363

安装 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配置

添加用户并授权

  1. #添加用户
  2. sudo rabbitmqctl add_user admin pwd
  3. #设置用户角色
  4. sudo rabbitmqctl set_user_tags admin administrator
  5. #tag(administrator,monitoring,policymaker,management)
  6. #设置用户权限(接受来自所有Host的所有操作)
  7. sudo rabbitmqctl set_permissions -p "/" admin '.*' '.*' '.*'
  8. #查看用户权限
  9. sudo rabbitmqctl list_user_permissions admin

配置远程管理WEB界面开启

rabbitmq-plugins enable rabbitmq_management
重启rabbitmq服务生效
不成功刷新防火墙

配置用户远程访问

  1. #修改配置文件
  2. sudo vi /etc/rabbitmq/rabbitmq.config
  3. #保存以下内容
  4. [
  5. {rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["admin"]}]}
  6. ].

重启服务并开放端口

  • 重启服务

sudo systemctl restart rabbitmq-server

  • 开放端口
    1. #开放端口
    2. sudo firewall-cmd --add-port=5672/tcp --permanent
    3. #重新加载防火墙配置
    4. sudo firewall-cmd --reload

    RabbitMQ常用命令

    1. # 添加用户
    2. sudo rabbitmqctl add_user
    3. # 删除用户
    4. sudo rabbitmqctl delete_user
    5. # 修改用户密码
    6. sudo rabbitmqctl change_password
    7. # 清除用户密码(该用户将不能使用密码登陆,但是可以通过SASL登陆如果配置了SASL认证)
    8. sudo rabbitmqctl clear_password
    9. # 设置用户tags(相当于角色,包含administrator,monitoring,policymaker,management)
    10. sudo rabbitmqctl set_user_tags
    11. # 列出所有用户
    12. sudo rabbitmqctl list_users
    13. # 创建一个vhosts
    14. sudo rabbitmqctl add_vhost
    15. # 删除一个vhosts
    16. sudo rabbitmqctl delete_vhost
    17. # 列出vhosts
    18. sudo rabbitmqctl list_vhosts [ ...]
    19. # 针对一个vhosts给用户赋予相关权限;
    20. sudo rabbitmqctl set_permissions [-p ]
    21. # 清除一个用户对vhosts的权限;
    22. sudo rabbitmqctl clear_permissions [-p ]
    23. # 列出哪些用户可以访问该vhosts;
    24. sudo rabbitmqctl list_permissions [-p ]
    25. # 列出用户访问权限;
    26. sudo rabbitmqctl list_user_permissions

    rabbitmq日志存储位置

    Linux 下/var/log/rabbitmq/
    windows下 C:\Users\Administrator\AppData\Roaming\RabbitMQ\log

    rabbitmq.config详细配置参数

    https://blog.csdn.net/super_rd/article/details/70327712
    https://blog.csdn.net/Super_RD/article/details/70327503