RabbitMQ笔记

RabbitMQ笔记

简单介绍

点击查看RabbitMQ简介
MQ全称为Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信, 直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等。

Erlang

Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。

安装配置

[root@demo1 ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@demo1 ~]# uname -a
Linux demo1 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

注意事项:所选择的erlang要与rabbitmq版本要对应 官方版本对照表

RabbitMQ官网方法 如果只是使用RabbitMQ,个人推荐使用RabbitMQ公司维护的erlang版本,该版本只保留了与RabbltMQ相关的功能
MQ_ERL

centOS6与7版本的都有,还有erlang19x、20x、21x版本。下面是在centOS7上安装22x版本erlang。

安装erlang

[root@demo1 ~]# vim /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
[root@demo1 ~]# yum -y install erlang
[root@demo1 ~]# erl
Erlang/OTP 22 [erts-10.7.2.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Eshell V10.7.2.2  (abort with ^G)
1> 

安装rabbitmq 官方安装文档

[root@demo1 ~]# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.6/rabbitmq-server-3.8.6-1.el7.noarch.rpm
[root@demo1 ~]# yum localinstall rabbitmq-server-3.8.6-1.el7.noarch.rpm

启动

[root@demo1 ~]# systemctl start rabbitmq-server

相关文件

日志文件

[root@demo1 ~]# cd /var/log/rabbitmq/
[root@demo1 rabbitmq]# ls
log  rabbit@demo1.log  rabbit@demo1_upgrade.log
[root@demo1 rabbitmq]# vim rabbit\@demo1.log
 23 2020-08-12 15:14:46.621 [info] <0.269.0> 
 24  node           : rabbit@demo1
 25  home dir       : /var/lib/rabbitmq
 26  config file(s) : (none)   #启动时rabbitmq会在/etc/rabbitmq/下寻找配置文件,默认没有,可创建一个
 27  cookie hash    : IhxHBIrIQV6EmeGaYyP7nQ==
 28  log(s)         : /var/log/rabbitmq/rabbit@demo1.log
 29                 : /var/log/rabbitmq/rabbit@demo1_upgrade.log
 30  database dir   : /var/lib/rabbitmq/mnesia/rabbit@demo1

配置文件

[root@demo1 rabbitmq]# cd /etc/rabbitmq/
[root@demo1 rabbitmq]# touch rabbitmq.config

详细的配置文件参数见官网 rabbitmq配置

启动web管理界面

[root@demo1 ~]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@demo1:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@demo1...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.

配置用户远程访问

RabbitMQ默认用户名和密码都是guest,并且只能在本地登录,远程无法登录,可以通过在配置文件rabbitmq.config中配置来允许在远程登录。

[{rabbit, [{loopback_users, []}]}].


添加新用户访问

# 添加用户
rabbitmqctl add_user username password
    
# 为用户设置所有权限
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
    
# 设置用户为管理员
rabbitmqctl set_user_tags username administrator
posted @ 2020-08-12 13:52  Chuyio  阅读(354)  评论(0编辑  收藏  举报