安装RabbitMq
- 介绍:
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
下面将重点介绍RabbitMQ中的一些基础概念,了解了这些概念,是使用好RabbitMQ的基础。
- 安装时遇到的问题
主要的问题就是 Erlang 的版本和 RabbitMq 的版本兼容问题,我当时是因为 Erlang 的版本过高导致的所以安装时需仔细考虑版本的问题,我这里用的 Erlang 是 v19.1 RabbitMq 的版本是 v3.6.6 ,对应版本例如如下图:
- 安装预环境
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
- 下载Erlang
1.网盘地址
链接:https://pan.baidu.com/s/1umXhM21480bNDDqSVII1sA
提取码:ud32
2.官网下载地址:
https://www.erlang.org/downloads
官网因为翻墙可能会下载的很慢!!!
3.其他下载地址
Erlang下载:otp_src_22.3.tar.gz,otp_src_19.1.tar.gz 下载 百度网盘
- 安装 Erlang
tar -xvf otp_src_19.1.tar.gz
- 进入 Erlang 目录(就是 otp_src_19.1 文件夹) , 我这里给 otp_src_19.1 文件夹改了一个名字 erlang
tar -xvf otp_src_19.1.tar.gz
- 编译安装 Erlang 语言环境 prefix=/usr/local/erlang 为安装目录
./configure --prefix=/usr/local/erlang --enable-smp-support --enable-threads --enable-sctp --enable-kernel-poll --enable-hipe --with-ssl --without-javac
- 编译安装
make && make install
- 配置 Erlang 环境变量
vim /etc/profile
export PATH=$PATH:/home/rpm/RabbitMq/erlang/bin
source /etc/profile
- 测试 Erlang 是否安装成功(Ctrl + z 退出)
erl
- 下载 RabbitMq
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el6.noarch.rpm
- 安装 RabbitMq
rpm -ivh rabbitmq-server-3.6.6-1.el6.noarch.rpm
- 报错
- 解决方法
#安装socat依赖
yum -y install socat
#此时会报错没有socat包或是找不到socat包,解决方法安装centos的epel的扩展源
yum -y install epel-release
#之后重新安装socat
yum -y install socat
#接着安装rpm -ivh rabbitmq-server-3.6.6-1.el6.noarch.rpm 安装会报错 有依赖关系解决方法不安装依赖关系
rpm -i --nodeps rabbitmq-server-3.6.6-1.el6.noarch.rpm
#生成配置文件
cp /usr/share/doc/rabbitmq-server-3.6.6/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
- 配置 RabbitMq 环境变量
#查看 地址
whereis rabbitmq
vim /etc/profile
export PATH=$PATH:/usr/lib/rabbitmq/sbin
source /etc/profile
- 启动服务
# 切换到 sbin 目录下 启动
./rabbitmq-server start
- 开启 web 管理接口
sudo rabbitmq-plugins enable rabbitmq_management
- 访问页面
http://服务器ip:15672
- 配置 RabbitMq 账号和密码
rabbitmq-plugins enable rabbitmq_management
- 添加用户
rabbitmqctl add_user admin admin
- 添加用户标签
rabbitmqctl set_user_tags admin administrator
- 查看用户列表
rabbitmqctl list_users
docker快速搭建rabbitmq
拉取mq镜像
docker pull rabbitmq:management
启动rabbitmq镜像实例
docker run -d --name rabbitmq -p 5671:5671 \
-p 5672:5672 -p 4369:4369 -p 25672:25672 \
-p 15671:15671 -p 15672:15672 rabbitmq:management
#4369 25672 Erlang发现&集群端口
#5672,5671 AMQP端口
#15672 web管理后台端口
#61613,61614 STOMP协议端口
#1883,8883 MQTT协议端口
设置开机自启动
docker update rabbitmq --restart=always
控制台访问如下
用户名/密码:guest/guest
TODO:总结mq集群部署方案