Linux下RabbitMQ的安装与卸载

安装相关依赖:

yum update
yum install epel-release
yum install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git wget wxBase.x86_64

安装 ErLang

wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
yum update
yum install erlang

输入 erl 检查一下是否安装成功

安装 RabbitMq

也可以使用如下方法安装 RabbitMQ 3.7.14

rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc

yum -y install https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.14/rabbitmq-server-3.7.14-1.el7.noarch.rpm

卸载 RabbitMQ 与 Erlang

/sbin/service rabbitmq-server stop
yum list | grep rabbitmq
yum -y remove rabbitmq-server.noarch
 
yum list | grep erlang
yum -y remove erlang-*
yum remove erlang.x86_64 
rm -rf /usr/lib64/erlang

rm -rf /var/lib/rabbitmq/     # 清除rabbitmq配置文件
  • 启动服务
systemctl start rabbitmq-server

安装插件

安装插件后可以访问 localhost:15672 来通过 Web 端管理 RabbitMQ。

rabbitmq-plugins enable rabbitmq_management

踩坑

[root@SHA1000154085 rabbitmq]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
  amqp_client
  cowlib
  cowboy
  rabbitmq_web_dispatch
  rabbitmq_management_agent
  rabbitmq_management
Applying plugin configuration to rabbit@SHA1000154085... failed.
Error: {cannot_read_enabled_plugins_file,"/etc/rabbitmq/enabled_plugins",
           eacces}

解决办法:

# umask 预设权限(权限掩码),当我们建立一个目录或档案时,它都会带一个默认权限
# 022表示默认创建新文件权限为755 也就是 rxwr-xr-x(所有者全部权限,属组读写,其它人读写)
umask 0022
rabbitmq-plugins enable rabbitmq_management

RabbitMq 的使用

  • 启动
service rabbitmq-server start
  • 停止
service rabbitmq-server stop
  • 查看运行状态
service rabbitmq-server status
  • 创建管理用户
rabbitmqctl add_user jiaflu 123456
  • 设置管理员

RabbitMQ Server 默认guest用户,只能localhost地址访问,我们还需要创建管理员用户。

rabbitmqctl set_user_tags jiaflu administrator
  • 设置权限
rabbitmqctl set_permissions jiaflu ".*" ".*" ".*"  # 赋予 all
  • 查看(指定 hostpath)所有用户的权限信息
rabbitmqctl  list_permissions  [-p  VHostPath]
  • 查看指定用户的权限信息
rabbitmqctl  list_user_permissions  jiaflu
  • 清除用户的权限信息
rabbitmqctl  clear_permissions  [-p VHostPath]  jiaflu
  • 其他命令
#查询用户:
    rabbitmqctl.bat list_users
#查询vhosts:
    rabbitmqctl.bat list_vhosts
#启动RabbitMQ服务:
    net stop RabbitMQ && net start RabbitMQ

应用管理指令

  • rabbitmqctl stop [pid_file]

用于停止运行 RabbitMQ 的 Erlang 虚拟机和 RabbitMQ 服务应用。如果指定了 pid_file,还需要等待指定进程的结束。

  • rabbitmqctl shutdown

用于停止运行 RabbitMQ 的 Erlang 虚拟机和 RabbitMQ 服务应用。执行这个命令会阻塞直到 Erlang 虚拟机进程退出。如果 RabbitMQ 没有关闭成功,则会返回一个非零值。

这个命令和 rabbitmqctl stop 不同的是,它不需要指定 pid_file 而可以阻塞等待指定进程的关闭。

  • rabbitmqctl stop_app

停止 RabbitMQ 服务应用,但是 Erlang 虚拟机还是处于运行状态。

  • rabbitmqctl start_app

启动 RabbitMQ 应用。

  • rabbitmqctl wait [pid_file]

等待 RabbitMQ 应用的启动。

  • rabbitmqctl reset

将 RabbitMQ 节点重置还原到最初状态。包括从原来所在的集群中删除此节点,从管理数据库中删除所有的配置数据,如已配置的用户、vhost等,以及删除所有的持久化消息。

  • rabbitmqctl force_reset

强制将 RabbitMQ 节点重置还原到最初状态。它只能在数据库或集群配置已损坏的情况下使用。与 rabbitmqctl reset 命令一样,执行 rabbitmqctl force_reset 命令前必须先停止 RabbitMQ 应用。

  • rabbitmqctl rotate_logs {suffix}

指示 RabbitMQ 节点轮换日志文件。

参考文章

//www.greatytc.com/p/bb47a5233518

https://www.cnblogs.com/michael-xiang/p/10467732.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.安装依赖包 yum -y install gcc glibc-devel make ncurses-devel...
    彬荣阅读 2,839评论 0 0
  • 1、安装erlang通过yum安装的版本不是最新的,rabbitMq 和erlang 是有版本匹配的,匹配地址ht...
    Nomore_57f6阅读 3,017评论 0 0
  • 什么叫消息队列? 消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复...
    Agile_dev阅读 6,919评论 0 24
  • rabbitmq有3种模式,集群模式2种• 单机模式:即单机情况不做集群,就单独运行一个rabbitmq而已。...
    嗷大彬彬阅读 9,514评论 1 9
  • 先安装Elrang 安装:官网地址,http://www.erlang.org 解压: 安装依赖: 配置confi...
    ssttIsme阅读 5,385评论 0 0