RabbitMQ的安装

RabbitMQ简介

RabbitMQ是采用Erlang语言实现AMQP(高级消息队列协议)的消息中间件。

RabbitMQ的安装

这里所有的安装操作都是在Centos 7系统下进行的,RabbitMQ的安装方式其实有两种,一种是直接在Linux系统中安装,一种是在容器中安装,这里指Docker容器。对于一些简单的测试环境或者小型项目,我更愿意在Docker中安装使用,因为在Docker中安装更方便,容器帮我们做了很多工作。

Centos 7下安装RabbitMQ

以下的安装方式都是通过源码包的形式安装,当然也可以通过centos的yum源进行安装。

安装Erlang

从Erlang官网下载安装包: http://www.erlang.org/downloads

[root@iz2zeaf3cg1099kiidi06mz ~]# tar xvf otp_src_21.0.tar.gz
[root@iz2zeaf3cg1099kiidi06mz ~]# cd otp_src_21.0
[root@iz2zeaf3cg1099kiidi06mz otp_src_21.0]# ./configure --prefix=/opt/erlang

[root@iz2zeaf3cg1099kiidi06mz otp_src_21.0]# make
[root@iz2zeaf3cg1099kiidi06mz otp_src_21.0]# make install

修改/etc/profile,添加环境变量:

ERLANG_HOME=/opt/erlang
export PATH=$PATH:$ERLANG_HOME/bin
export ERLANG_HOME

然后source /etc/profile使其生效

安装RabbitMQ

从RabbitMQ官网下载源码包: https://www.rabbitmq.com/download.html

官网也提供RPM(Linux下的软件包管理器)安装形式,详情参阅官网

[root@iz2zeaf3cg1099kiidi06mz ~]# tar xvf rabbitmq-server-generic-unix-3.6.15.tar.xz -C /opt
[root@iz2zeaf3cg1099kiidi06mz ~]# cd /opt
[root@iz2zeaf3cg1099kiidi06mz opt]# ls
erlang  rabbitmq_server-3.6.15
[root@iz2zeaf3cg1099kiidi06mz opt]# mv rabbitmq_server-3.6.15 rabbitmq

修改/etc/profile,添加环境变量:

export PATH=$PATH:/opt/rabbitmq/sbin
export RABBITMQ_HOME=/opt/rabbitmq
[root@iz2zeaf3cg1099kiidi06mz opt]# vi /etc/profile
[root@iz2zeaf3cg1099kiidi06mz opt]# source /etc/profile
运行RabbitMQ

rabbitmq-server -detached 以守护进程的方式运行rabbimq

[root@iz2zeaf3cg1099kiidi06mz opt]# rabbitmq-server -detached
Warning: PID file not written; -detached was passed.

rabbitmq status查看RabbiMQ是否运行成功

[root@iz2zeaf3cg1099kiidi06mz opt]# rabbitmqctl status
Status of node rabbit@iz2zeaf3cg1099kiidi06mz
[{pid,30300},
 {running_applications,
开启WEB后台管理界面
[root@iz2zeaf3cg1099kiidi06mz ~]# rabbitmq-plugins enable rabbitmq_management
创建远程登录账号密码

由于rabbitmq的默认账号(账号guest,密码guest)具有全部权限,guest账号只允许在Localhost登录WEB界面,远程登录会失败,所以我们需要新建账号并设置相应权限

1. 查看当前用户列表

[root@iz2zeaf3cg1099kiidi06mz ~]# rabbitmqctl list_users;
Listing users
guest   [administrator]

2. 新增一个用户

[root@iz2zeaf3cg1099kiidi06mz ~]# rabbitmqctl add_user root root
Creating user "root"

3. 设置用户角色

[root@iz2zeaf3cg1099kiidi06mz ~]# rabbitmqctl set_user_tags root administrator
Setting tags for user "root" to [administrator]

4. 设置用户权限

命令是rabbitmqctl set_permissions -p 虚拟主机名称 账号名称 "." "." "."
而rabbitmq默认的虚拟主机host为”/”。当然也可以新建一个虚拟主机,命令为rabbitmqctl add_vhosts 虚拟主机名称

[root@iz2zeaf3cg1099kiidi06mz ~]# rabbitmqctl set_permissions -p / root ".*" ".*" ".*"
Setting permissions for user "root" in vhost "/"

通过以上步骤之后,就可以通过自己设定的账号远程访问web管理界面了。

Docker中安装RabbitMQ

在Docker中安装RabbiMQ是很方便的,当前前提你得有Docker环境,至于Docker的安装这里就不介绍了,详情请参阅CentOS 安装 Docker

1. 拉取镜像

从官方下载镜像到本地,这里是带有web管理插件的镜像

[root@iz2zeaf3cg1099kiidi06mz ~]# docker pull rabbitmq:management
management: Pulling from library/rabbitmq

2. 运行镜像,创建rabbitmq容器

[root@iz2zeaf3cg1099kiidi06mz ~]# docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management
a190a7d8245d09eae9cdf8322ba7def2397b4dad12bdcf6200143ea3a3519920

参数说明:
- -d 表示后台进程运行
- –name: 指定容器名称
- -p: 映射主机端口到内部容器开发的网络端口

更多关于docker的参数说明,请参阅Docker — 从入门到实践

3. 访问web管理界面
rabbitmq

但是这里发现一个问题,通过docker安装的rabbimq并运行,可以直接使用默认账号远程访问。具体原因没查明白,猜测可能是容器的端口映射到主机的端口上,外网默认账号访问时让运行在容器中的rabbitmq以为是本地访问

实际上,在Docker中安装运行rabbitmq是非常快捷方便的,这有利于我们进行项目开发需要。

小结

以前也装过rabbitmq,实际项目也用过。当时没有去做笔记,写博客的习惯,以至于学过就像「白学」一样。现在从头开始,仔细去研究Rabbitmq。总结的过程就是成长的过程。

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值