Linux下安装RabbitMQ
RabbitMQ介绍
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
一、下载RabbitMQ所需要的安装包,即Erlang 和 RabbitMQ
1、RabbitMQ是Erlang语言编写的,所以在安装RabbitMQ之前,需要先安装Erlang。但是在搭建RabbitMQ环境过程中,会因为RabbitMQ 和 Erlang的版本问题导致环境一直搭建不起来, 以下是RabbitMQ与Erlang的版本对应关系
官网查看网址:https://www.rabbitmq.com/which-erlang.html#erlang-repositories
2、进入Erlang官网,点击导航栏中的DOWNLOADS下载链接,进入Erlang下载页面
官网链接:https://www.erlang.org/
点击OTP 23.3 Source File 链接进行下载
3、进入RabbitMQ官网,点击右边的RabbitMQ 3.8.14链接,官网链接:https://www.rabbitmq.com/
找到RabbitMQ 3.8.14 release 下的 RabbitMQ downloads链接并点击,进入到RabbitMQ的下载页面
找到Download(现RabbitMQ下载链接转移到git上面)下的 rabbitmq-server-generic-unix-3.8.14.tar.xz 下载链接并点击,开始进行下载RabbitMQ
二、把下载好的RabbitMQ 和 Erlang上传到Linux服务器上
1、把我们下载好的RabbitMQ 和 Erlang安装包,上传到Linux的 指定 文件目录下
解压上传的RabbitMQ 和 Erlang安装包
tar -zxvf otp_src_23.3.tar.gz
tar -xvf rabbitmq-server-generic-unix-3.8.14.tar.xz
三、安装编译 Erlang
1、安装Erlang编译所依赖的环境(Complete! 提示表示安装环境完成)
yum install make gcc gcc-c++ build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel
2、编译Erlang (在 /usr/local 目录下创建一个erlang文件夹,因为erlang编译安装默认是装在/usr/local下的bin和lib中,这里我们将他统一装到/usr/local/erlang中,方便查找和使用)
mkdir -p /usr/local/erlang
//进入到Erlang目录下(刚刚的opt解压目录)
cd otp_src_22.0/
//编译Erlang,这里由于不需要用java编译器编译,所以后面添加了 --without-javac
./configure --prefix=/usr/local/erlang --without-javac
- 安装Erlang
make && make install
- 配置Erlang环境变量
[root@VM-0-6-centos otp_src_23.3]# vi /etc/profile //编辑环境配置文件
//添加如下配置信息
export ERLANG_HOME=/usr/local/erlang
export PATH=${ERLANG_HOME}/bin:${PATH}
[root@VM-0-6-centos otp_src_23.3]# source /etc/profile //重新读取配置文件
- 创建软连
[root@VM-0-6-centos otp_src_23.3]# ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl
- 测试Erlang是否安装成功
四、安装RabbitMQ
- 配置RabbitMQ环境变量
[root@VM-0-6-centos otp_src_23.3]# vi /etc/profile //编辑环境配置文件
//添加如下配置信息
export RABBITMQ_HOME=/opt/mq/rabbitmq_server-3.8.14
export PATH=${RABBITMQ_HOME}/sbin:${PATH}
[root@VM-0-6-centos otp_src_23.3]# source /etc/profile //重新读取配置文件
- 开启Web管理界面插件,便于访问RabbitMQ
[root@VM-0-6-centos otp_src_23.3]# cd /opt/mq/rabbitmq_server-3.8.14/sbin
[root@VM-0-6-centos sbin]# ./rabbitmq-plugins enable rabbitmq_management //开启web管理界面插件
- 设置RabbitMQ开机启动
[root@VM-0-6-centos sbin]# vi /etc/rc.d/rc.local
source /etc/profile
/opt/mq/rabbitmq_server-3.8.14/sbin/rabbitmq-server -detached
- 后台启动RabbitMQ服务
[root@VM-0-6-centos sbin]# ./rabbitmq-server -detached //后台启动RabbitMQ
- 在浏览器的地址栏中输入你 服务器的ip地址:15672,即可访问RabbitMQ的管理登录界面,例如我的Linux服务器的ip地址是106.52.65.184,那么我的RabbitMQ管理界面的访问地址是 106.52.65.184:15672
-
RabbitMQ的Username 和 Password 默认为guest/guest
可以看到Login failed (登录失败),User can only log in via localhost (用户只能通过本地主机登录),因为rabbitmq从3.3.0开始禁止使用guest/guest管理员权限通过除localhost外的访问
-
解决方法,再添加个用户即可,如下所示:
rabbitmqctl add_user admin 111111
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
rabbitmqctl set_user_tags admin administrator
不用重启服务,直接访问即可。
不用重启服务,直接访问即可。
- 使用RabbitMQ管理界面创建用户和虚拟主机
emmm 博主懒得写了,麻烦自己在上图admin处去添加,不明白角色权限的去官网查看,或自行百度 qwq
官网:https://www.rabbitmq.com