RabbitMQ安装部署[CentOS]

RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用。

安装RabbitMQ

RabbitMQ是用Erlang语言编写的,在linux的安装过程中,需要先安装Erlang。

  1. 准备资源
  2. 将资源上传到服务器
  3. 安装ErLang:rpm -Uvh erlang-22.2-1.el7.x86_64.rpm --nodeps --force
    • 说明:安装时不再分析包之间的依赖关系而直接安装,否则报错依赖有问题。
    • 执行erl -version可以看到:Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6
  4. 安装Socat:yum -y install ocat
  5. 安装RabbitMQ:rpm -ivh rabbitmq-server-3.8.1-1.el7.noarch.rpm

    启动RabbitMQ

  6. 启动RabbitMQ
    • 启动:systemctl start rabbitmq-server
    • 查看状态:systemctl status rabbitmq-server
  7. 启动RabbitMQ Web管理控制台:rabbitmq-plugins enable rabbitmq_management
  8. 将RabbitMQ文件的所有权提供给RabbitMQ用户:chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
  9. 创建管理用户,并授予管理员角色与权限
    rabbitmqctl add_user admin password
    rabbitmqctl set_user_tags admin administrator
    rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
  10. 浏览器访问http://ip:15672进入管理页面。

说明el6、el7

下载rpm时,文件会包括el6,el7,el8等字样:EL是Red Hat Enterprise Linux(EL)的缩写。
EL5是Red Hat 5.x,CentOS 5.x和CloudLinux 5.x的下载。
EL7是Red Hat 7.x,CentOS 7.x和CloudLinux 7.x的下载。
EL8是Red Hat 8.x,CentOS 8.x和CloudLinux 8.x的下载。

关于erlang的安装

关于erlang的安装,常见的还有有如下两种情况

  1. 添加erlang solutions
    wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
    rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
    yum install erlang
  2. 从EPEL源安装(这种方式安装的Erlang版本可能不是最新的,有时候不能满足RabbitMQ需要的最低版本)
    yum install epel-release
    yum install erlang  
    但是以上两个方法很慢,而且还有可能报错,笔者就是按照上述的步骤安装,erlang的版本是 5.10.4,结果有如下报错:
    error: Failed dependencies: erlang >= 21.3 is needed by rabbitmq-server-3.8.1-1.el7.noarch

常用指令

1. 服务器启动与关闭
启动 systemctl start rabbitmq-server
关闭 systemctl stop rabbitmq-server
重启 systemctl restart rabbitmq-server
查看状态 systemctl status rabbitmq-server
开机启动 systemctl enable rabbitmq-server

2. 用户管理
新增 rabbitmqctl add_user admin admin
删除 rabbitmqctl delete_user admin
修改 rabbitmqctl change_password admin admin123
清空密码 rabbitmqctl clear_password admin
验证用户名密码 rabbitmqctl authenticate_user admin verifyit 

用户列表 rabbitmqctl  list_users
设置角色 rabbitmqctl set_user_tags admin administrator monitoring policymaker management

设置用户权限 rabbitmqctl  set_permissions  -p  VHostPath  admin  ConfP  WriteP  ReadP
查询所有权限 rabbitmqctl  list_permissions  [-p  VHostPath]
指定用户权限 rabbitmqctl  list_user_permissions  admin
清除用户权限 rabbitmqctl  clear_permissions  [-p VHostPath]  admin
设置用户是管理员 rabbitmqctl set_user_tags admin administrator  

3. 应用程序管理:
rabbitmqctl force_reset  无条件重新设置
rabbitmqctl reset    需要在当前rabbitmq关闭服务才能运行
rabbitmqctl shutdown   关闭rabbitmq服务节点
rabbitmqctl start_app    启动reabbitmq服务
rabbitmqctl stop         停止运行RabbitMQ的Erlang节点。
rabbitmqctl stop_app     停止rabbitmq服务

rabbitmqctl hipe_compile /tmp/rabbit-hipe/ebin    对HiPE-compile模块并将它们存储到 / tmp / rabbit-hipe / ebin目录
rabbitmqctl rotate_logs  此命令启动内部日志轮换过程
rabbitmqctl wait /var/run/rabbitmq/pid   当RabbitMQ节点启动时,此命令将返回
欣赏此文?求鼓励,求支持!您的支持就是支持我更新的最大动力!