安装部署RabbitMQ
前言
RabbitMQ是一款使用Erlang语言开发,实现AMQP(高级消息队列协议)的开源消息中间件。RabbitMQ的特点:
- 可靠性。支持持久化,传输确认,发布确认等保证了MQ的可靠性。
- 灵活的分发消息策略。这应该是RabbitMQ的一大特点。在消息进入MQ前由Exchange(交换机)进行路由消息。分发消息策略有:简单模式、工作队列模式、发布订阅模式、路由模式、通配符模式。
- 支持集群。多台RabbitMQ服务器可以组成一个集群,形成一个逻辑Broker。
- 多种协议。RabbitMQ支持多种消息队列协议,比如 STOMP、MQTT 等等。
- 支持多种语言客户端。RabbitMQ几乎支持所有常用编程语言,包括 Java、.NET、Ruby 等等。
- 可视化管理界面。RabbitMQ提供了一个易用的用户界面,使得用户可以监控和管理消息 Broker。
- 插件机制。RabbitMQ提供了许多插件,可以通过插件进行扩展,也可以编写自己的插件。
环境准备:
- 系统版本:CentOS7
- IP:192.168.0.10
- 安装包:
- rabbitmq-server-generic-unix-3.8.9.tar.xz,官网地址:Releases · rabbitmq/rabbitmq-server · GitHub
- erlang安装包:otp_src_23.1.4.tar.gz,Erlang官网下载地址
步骤
安装erlang
- 安装依赖
yum install -y gcc glibc-devel make ncurses-devel openssl-devel xmlto
- 解压安装包
tar xf otp_src_23.1.4.tar.gz
cd otp_src_23.1.4
- 预编译 -> 编译 -> 编译安装
# 创建安装目录
mkdir -p /usr/local/erlang
# 预编译时如果提示缺少wxwidget什么的,非GUI可忽略
./configure --prefix=/usr/local/erlang
# 因为CPU为4核,故-j4加速编译
make -j4
make install -j4
- 验证
/url/local/erlang/bin/erl
1+1.
# 上述正常执行的话,即可退出
halt().
- 配置环境变量:
vim /etc/profile
export PATH=$PATH:/usr/local/erlang/bin
- 环境变量生效
source /etc/profile
安装rabbitmq
- 解压rabbit压缩包到指定目录
tar xf rabbitmq-server-generic-unix-3.8.9.tar.xz -C /usr/local
- (可选操作)将解压后的目录重命名为rabbitmq
- 添加
/usr/local/rabbitmq/sbin到环境变量中,并source生效 - 启动rabbitmq
rabbitmq-server -detached
# 查看rabbitmq服务状态:rabbitmqctl status
# 关闭rabbitmq:rabbitmqctl stop
- 安装网页管理插件
mkdir -p /etc/rabbitmq
# 启用网页管理插件
rabbitmq-plugins enable rabbitmq_management
# 访问 http://192.168.0.10:15672,默认用户guest,密码guest
- 配置远程访问控制
# 添加用户
rabbitmqctl add_user user233 pwd233
# 添加所有权限
rabbitmqctl set_permissions -p "/" user233 ".*" ".*" ".*"
# 修改用户角色为管理员
rabbitmqctl set_user_tags user233 administrator
# 网页登录测试
其它
安装插件RabbitMQ Delayed Message Plugin
- 到github上下载ez格式的插件包,github地址
- 将ez格式的文件放到
/usr/local/rabbitmq/plugins/中 - 执行
rabbitmq-plugins list,找到插件名(一般是rabbitmq_delayed_message_exchange,瞅一眼确认一下) - 启用插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
踩坑记录
- 网页管理页面无法登录,页面底部显示
ReferenceError: disable_stats is not defined ReferenceError "rabbitmq"- Edge浏览器问题,换个浏览器试试。
安装部署RabbitMQ的更多相关文章
- Docker:安装部署RabbitMQ
前言 今天原本想讲解SpringBoot集成RabbitMQ的,临近开始写时才发现家里的电脑根本没有安装RabbitMQ呀.这下只好利用已有的阿里云服务器,直接Docker安装一下了,顺道记录下,算是 ...
- Linux下安装部署RabbitMQ
在写正文之前先啰嗦几句,RabbitMQ(消息队列)的安装让我费了半天劲啊!足足折腾了2天,最后写下这篇文章总结下,其实很简单,但是你找不到错在哪个环节就会费很多无用功,如果你也遇到了安装erl后 怎 ...
- Centos7安装部署Rabbitmq教程
依赖关系: 版本依赖一定要提前看清楚. RabbitMQ相关版本依赖关系查看 https://www.rabbitmq.com/which-erlang.html 可以看到要求版本Erlang21.3 ...
- Docker 安装部署RabbitMQ
获查询镜像 docker search rabbitmq:management 可以看到如下结果: 获取镜像 docker pull rabbitmq:management 运行镜像 docker r ...
- RabbitMQ消息队列系列教程(二)Windows下安装和部署RabbitMQ
摘要 本篇经验将和大家介绍Windows下安装和部署RabbitMQ消息队列服务器,希望对大家的工作和学习有所帮助! 目录 一.Erlang语言环境的搭建 二.RabbitMQ服务环境的搭建 三.Ra ...
- Linux 安装 RabbitMQ 3.7.8 安装部署
Linux 安装 rabbitmq 3.7.8 安装部署 安装 ncurses 1.安装GCC GCC-C++ Openssl等模块 yum -y install make gcc gcc-c++ k ...
- RabbitMQ的安装部署
RabbitMQ安装部署 一.软件准备 wget http://erlang.org/download/otp_src_19.3.tar.gz wget http://www.rabbitmq.com ...
- rabbitmq安装部署
本文主要介绍rabbitmq-server-3.6.12的安装部署 # 检查是否已经安装旧版本的软件 rpm -qa|grep erlang rpm -qa|grep rabbitmq # 如果之前 ...
- 10分钟学会RabbitMQ安装部署
一.单机版的 RabbitMQ 的安装部署 1.安装 Erlang 环境 wget http://erlang.org/download/otp_src_19.3.tar.gz tar -zxvf o ...
- 在Ubuntu 12.10 上安装部署Openstack
OpenStack系统有几个关键的项目,它们能够独立地安装但是能够在你的云计算中共同工作.这些项目包括:OpenStack Compute,OpenStack Object Storage,OpenS ...
随机推荐
- hibernate及SpringBoot集成Jpa实现对数据库操作
首先使用Maven工程和junit完成hibernate对数据库的简单操作,完成之后在使用SpringBoot集成Jap完成hibernate对数据库的操作.本文仅供新手学习查看,具体线上使用需要对代 ...
- docker安装rabbitmq:management
1.拉取镜像 docker pull rabbitmq:management 2.安装 docker run -dit --name rabitmq -e RABBITMQ_DEFAULT_USER= ...
- 玩转服务器之环境篇:PHP和Python环境部署指南
前几篇文章中讲解了如何搭建docker和Java Web环境的方法,本篇文章来教大家搭建一个好的PHP和Python环境,可以帮助开发和运行PHP和Python应用程序,使其更加高效和稳定. 一. P ...
- HINT: Add or change a related_name argument to the definition for 'usersApp.
错误原因是你的项目使用的不是Django自带的用户表,采用的自定义的用户表,这个时候需要在settings.py里面进行指定. AUTH_USER_MODEL = 'usersApp.UserProf ...
- vue-admin-template包下载地址
https://gitee.com/panjiachen/vue-admin-template/ https://github.com/PanJiaChen/vue-admin-template
- go for range的坑
package main import "fmt" func main() { ParseStudent() } type student struct { Name string ...
- C端用户体验度量实战篇-京东快递小程序体验度量全面升级
本文通过介绍体验度量模型升级研究过程.研究方法及研究结果等内容,结合实际C端产品应用,观测新模型运行周期的表现,验证了其在高速发展的业务形态和日益变化的用户需求上的适用性和有效性.我们从体验价值为导向 ...
- ensp 链路聚合
链路聚合(Link Aggregation) 指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,链路聚合在增加链路带宽.实现链路传输弹性和工程冗余等方面是 ...
- NameError: name 'List' is not defined
当在python出现该问题是,使用from typing import List.
- [数据分析与可视化] Python绘制数据地图3-GeoPandas使用要点
本文主要介绍GeoPandas的使用要点.GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口.GeoPandas扩展了Pandas的数据类型,并使用matplotl ...