01 : rabbitmq - 介绍和安装

RabbitMQ

简介:

  RabbitMQ  是一个在AMQP协议标准基础上开发的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器。

  ①、AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。

             基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。

  ②、开源。

  ③、使用 Erlang 语言编写,这是一种面向并发的编程语言,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。

 

通俗的讲:

RabbitMQ是一种消息队列 ,用于常见的进程通信。支持点对点,请求应答和发布订阅模式 并且提供多种语言的支持。常见的java,c#,php都支持。

常被用在异步处理,应用解耦。流量消锋等复杂的业务场景中。和java的kafka一样都属于消息中间件。

 

接下来我们介绍如何在 Linux 系统上安装 RabbitMQ。后续会在此基础上讲解集群的搭建。

 

1. 修改host解析 (这里是为了后面做集群)

 [root@node1 ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.6.111  node1

 

2 . 安装Erlang

 - Rabbitmq 需要erlang环境支持,就像java 程序需要jdk 一样。

 

安装epel源:

[root@node1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

安装erlang socat

[root@node1 ~]# yum -y install erlang socat

 

3 . 安装rabbitmq

[root@node1 ~]# mkdir /download&& cd /download

[root@node1 download]# wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm

[root@node1 download]# rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

[root@node1 download]# rpm  -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm

 

 卸载rabbitmq的命令: 了解就可以。

[root@node1 ~]# rpm -qa rabbitmq-server

rabbitmq-server-3.6.10-1.el7.noarch

[root@node1 ~]# rpm -e rabbitmq-server-3.6.10-1.el7.noarch

[root@node1 ~]# rm -rf  /var/lib/rabbitmq/     //清除rabbitmq配置文件

 

4 . 启动 rabbitmq-server :

[root@node1 download]# systemctl start rabbitmq-server

加入开机自启:

[root@node1 download]# systemctl enable rabbitmq-server

查看端口:

 

5 .  启动 rabbitmq  Web 管理界面

[root@node1 ~]# 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@node1... started 6 plugins.

关闭命令:(了解即可)

[root@node1 ~]#  rabbitmq-plugins disable rabbitmq_management

 

6 . web访问rabbitmq

上面这些做完了,rabbitmq 单机版的部署也完成了,我们可以浏览器访问

http://192.168.6.111:15672 

默认用户名和密码都是 guest。我们可以用 guest 登录

 

 

 7 . 安全起见,创建admin账号,删除guest账号:

# 查看当前所有用户

[root@node1 ~]# rabbitmqctl list_users

Listing users

guest   [administrator]

[root@node1 ~]#

 

# 添加新用户

rabbitmqctl  add_user  username  password

[root@node1 ~]# rabbitmqctl  add_user  admin admin

Creating user "admin"

[root@node1 ~]#

 

# 设置用户tag,必须是administrator

rabbitmqctl set_user_tags username administrator

[root@node1 ~]# rabbitmqctl set_user_tags admin administrator   

Setting tags for user "admin" to [administrator]

[root@node1 ~]#

 

# 赋予用户默认vhost的全部操作权限

rabbitmqctl set_permissions -p / username ".*" ".*" ".*"

[root@node1 ~]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"        

Setting permissions for user "admin" in vhost "/"

[root@node1 ~]# rabbitmqctl list_users                               

Listing users

admin   [administrator]

guest   [administrator]

[root@node1 ~]#

 

# 查看用户的权限

rabbitmqctl list_user_permissions  username

 

8 .  rabbitmq 一些常用命令:

1 启动监控管理器:rabbitmq-plugins enable rabbitmq_management

2 关闭监控管理器:rabbitmq-plugins disable rabbitmq_management

3 启动rabbitmq:rabbitmq-service start (默认是前台启动)

rabbitmq-service -detached (后台启动)

/建议使用systemctl start rabbitmq-server

4 关闭rabbitmq:rabbitmq-service stop

/建议使用systemctl stop rabbitmq-server

5 查看所有的队列:rabbitmqctl list_queues

6 清除所有的队列:rabbitmqctl reset

7 清除指定队列:rabbitmqctl  purge_queue  name_queue(队列的名字)

8 关闭应用:rabbitmqctl stop_app

9 启动应用:rabbitmqctl start_app

 

 

posted @ 2019-09-27 07:05  运维魔法师  阅读(314)  评论(0编辑  收藏  举报