当前位置: 首页 > news >正文

消息中间件——RabbitMQ(一)Windows/Linux环境搭建(完整版)

前言

最近在学习消息中间件——RabbitMQ,打算把这个学习过程记录下来。此章主要介绍环境搭建。此次主要是单机搭建(条件有限),包括在Windows、Linux环境下的搭建,以及RabbitMQ的监控平台搭建。

环境准备

在搭建RabbitMQ之前,请先确保如下环境已经搭建完毕

  • Java环境(我的JDK1.8)
  • Maven环境(我的3.6.1目前最新版)
  • Git环境

没有搭建的同学走传送门:

JDK环境搭建: JAVA8环境搭建
Maven环境搭建: Windows环境下使用Nexus 3.X 搭建Maven私服及使用介绍
Git环境搭建:Git环境搭建及配置


1.Windows环境下搭建

需要分别下载erlang与RabbitMQ安装包,进行安装。如果有遇到官方网站打不开的情况,可以扫描下方二维码关注公众号:Coder编程 回复RabbitMQ可以获取安装文件。

1.1 下载并安装 erlang

原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。

  • 下载地址:Downloads - Erlang/OTP

目前最新版本是:22.0

  • 根据电脑位数下载相应版本,现在大部分电脑都是64位,我这边选择64位的进行下载。

1.2 安装及环境配置步骤

1.2.1 安装包

下载完后,会得到如下安装包

消息中间件——RabbitMQ(一)Windows/Linux环境搭建(完整版)转

1.2.2 安装过程
  • 双击安装包,点next就可以

  • 选择一个软件安装保存的位置,然后依次点击next、finish就可以。
1.2.3 配置环境变量

安装完成之后,我们再来配置下环境变量。

电脑–>鼠标右键“属性”–>高级系统设置–>环境变量–>“新建”系统环境变量

变量名:ERLANG_HOME 变量值就是刚才erlang的安装地址,点击确定。然后双击系统变量path

点击“新建”,将%ERLANG_HOME%\bin加入到path中

1.2.4 测试

最后windows键+R键,输入cmd,再输入erl,看到版本号就说明erlang安装成功了。

1.3 下载并安装 RabbitMQ

1.3.1 安装及配置

下载地址:Downloading and Installing RabbitMQ — RabbitMQ

  • 双击下载后的.exe文件,安装过程与erlang的安装过程相同。
  • RabbitMQ安装好后接下来安装RabbitMQ-Plugins。打开命令行cd,输入RabbitMQ的sbin目录。

安装目录:E:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.16

然后在后面输入rabbitmq-plugins enable rabbitmq_management命令进行安装

打开sbin目录,双击rabbitmq-server.bat

1.3.2 测试

输入地址:http://localhost:15672/

显示图形界面及为成功!

1.4 解决闪退问题

输入 rabbitmq-plugins enable rabbitmq_management命令,之后启动 rabbitmq-service.bat 失败

建议:

  • 首先在命令行输入:rabbitmq-service stop
  • 接着输入rabbitmq-service remove
  • 再接着输入rabbitmq-service install
  • 接着输入rabbitmq-service start
  • 最后重新输入rabbitmq-plugins enable rabbitmq_management

2. Linux 环境下搭建

Linux环境安装RabbitMQ有两种安装方式:一种yum安装方式,一种编译安装方式。对于新手,推荐:yum安装方式

以下以yum安装方式进行介绍。

RabbitMQ官网下载地址:RabbitMQ: easy to use, flexible messaging and streaming — RabbitMQ

注意事项
erlang的版本会影响到rabbitmq的安装,两者有个版本对照。查看对照的地址:RabbitMQ Erlang Version Requirements — RabbitMQ

2.1 准备工作

2.1.1 安装好JDK环境。

可以参考以下文章:
linux下jdk的安装(两种方式)-CSDN博客

2.1.2 关闭防火墙

firewall-cmd –permanent –add-port=5672/tcp

firewall-cmd –reload

setsebool -P nis_enabled 1 (关闭selinux)

2.1.3 安装依赖包

rabbitmq所需要的依赖包


yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz

2.2 安装Erlang以及RabbitMQ

2.2.1 下载安装包

wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm
2.2.2 安装服务命令
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm

以上必须按顺序进行安装,否则会报错!

2.2.3 修改配置文件

注意修改: vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app文件

修改:loopback_users 中的 <<“guest”>>,只保留guest

修改:heartbeat 为1

消息中间件——RabbitMQ(一)Windows/Linux环境搭建(完整版)转

2.2.4 启动/停止服务等命令

## 启动rabbitmq服务
/etc/init.d/rabbitmq-server start ## 停止rabbitmq服务
/etc/init.d/rabbitmq-server stop ## 查看rabbitmq服务状态
/etc/init.d/rabbitmq-server status ## 重启rabbitmq服务
/etc/init.d/rabbitmq-server restart## 查看服务有没有启动lsof -i:5672 或者 netstat -tnlp|grep 15672
2.2.5 安装RabbitMQ管理界面

rabbitmq-plugins enable rabbitmq_management

安装完毕后,需要重启服务。

之后就可以通过http://ip:15672

使用guest,guest 进行登陆web页面了。

2.2.6 可能遇到的坑

安装过程中,遇到过以下坑:

消息中间件——RabbitMQ(一)Windows/Linux环境搭建(完整版)转


BOOT FAILED
===========
Error description:{error,{missing_dependencies,[compiler],[mochiweb]}}Log files (may contain more information):/var/log/rabbitmq/rabbit@localhost.log/var/log/rabbitmq/rabbit@localhost-sasl.log
Stack trace:[{rabbit_plugins,ensure_dependencies,1,[{file,"src/rabbit_plugins.erl"},{line,176}]},{rabbit_plugins,prepare_plugins,1,[{file,"src/rabbit_plugins.erl"},{line,195}]},{rabbit,broker_start,0,[{file,"src/rabbit.erl"},{line,280}]},{rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,403}]},{init,start_it,1,[]},{init,start_em,1,[]}]{"init terminating in do_boot",{error,{missing_dependencies,[compiler],[mochiweb]}}}
/usr/lib/rabbitmq/bin/rabbitmq-server: 行 236: 105442 用户定义信号 2    start_rabbitmq_server "$@"

找了半天也没找到解决方案,直接卸载重新再安装一遍就好了,也行中间有操作失误的地方。

2.2.7 卸载RabbitMQ操作

/sbin/service rabbitmq-server stop
yum list | grep rabbitmq
yum -y remove rabbitmq-server.noarchyum list | grep erlang
yum -y remove erlang-*
yum remove erlang.x86_64 
rm -rf /usr/lib64/erlang
rm -rf /var/lib/rabbitmq

相关文章:

消息中间件——RabbitMQ(一)Windows/Linux环境搭建(完整版)

前言 最近在学习消息中间件——RabbitMQ&#xff0c;打算把这个学习过程记录下来。此章主要介绍环境搭建。此次主要是单机搭建&#xff08;条件有限&#xff09;&#xff0c;包括在Windows、Linux环境下的搭建&#xff0c;以及RabbitMQ的监控平台搭建。 环境准备 在搭建Rabb…...

Mysql 表读锁与表写锁

表读锁 加锁&#xff1a;lock table table_name read 释放锁&#xff1a;unlock tables 当事务一用表读锁锁住某张表后&#xff0c; 1.事务一必须释放表读锁才能访问其他表 2.期间事务2可以访问该表&#xff0c;但是修改事会遇到阻塞等待&#xff0c;只有等到事务一释放锁后…...

目标检测概述

1.是什么&#xff1f; 目标检测是计算机视觉领域的核心问题之一&#xff0c;其任务就是找出图像中所有感兴趣的目标&#xff0c;确定他们的类别和位置。由于各类不同物体有不同的外观&#xff0c;姿态&#xff0c;以及不同程度的遮挡&#xff0c;加上成像是光照等因素的干扰&a…...

10月31日星期二今日早报简报微语报早读

10月31日星期二&#xff0c;农历九月十七&#xff0c;早报微语早读分享。 1、广西官宣&#xff1a;做试管婴儿费用可报销&#xff1b; 2、港媒&#xff1a;4名港大学生承认“煽惑他人蓄意伤人罪”&#xff0c;被判监禁2年&#xff1b; 3、331名中国维和官兵全部获联合国勋章…...

【Linux】虚拟机项目部署与发布

目录 一、Linux部署单机项目 1.1 优缺点 1.2 将项目共享到虚拟机 1.3 解压后将war包放入tomcat 1.4 数据库导入脚本 1.5 Tomcat启动项目 二、部署前后端分离项目 2.1 准备工作 2.2 部署SPA项目 2.2.1 nginx反向代理 2.2.2 SPA项目宿主机访问 一、Linux部署单机项目…...

边缘计算技术的崭新篇章:赋能未来智能系统

边缘计算是近年来云计算和物联网技术发展的重要趋势。通过将数据处理和分析从云端迁移到设备边缘&#xff0c;边缘计算能够实现更低的延迟和更高的数据安全。本文将探索边缘计算技术的最新进展及其在不同行业中的应用场景。 1. 实时数据处理与决策 在需要快速响应的场景中&…...

Mac/Linux类虚拟机_CrossOver虚拟机CrossOver 23.6正式发布2024全新功能解析

CodeWeivers 公司于今年 10 月发布了 CrossOver 23.6 测试版&#xff0c;重点添加了对 DirectX 12 支持&#xff0c;从而在 Mac 上更好地模拟运行 Windows 游戏。 该公司今天发布新闻稿&#xff0c;表示正式发布 CrossOver 23 稳定版&#xff0c;在诸多新增功能中&#xff0c;最…...

RabbitMQ 运维 扩展

1、集群管理与配置 1.1、集群搭建 关于Rabbitmq 集群的搭建&#xff0c;详见以下文章。简单说来就是将多个单机rabbitmq服务&#xff0c;通过给到一致的密钥&#xff08;.erlang.cookie&#xff09;并且开放rabbitmq服务的 25672 端口&#xff0c;允许多节点间进行互相通讯&am…...

[量化投资-学习笔记003]Python+TDengine从零开始搭建量化分析平台-Grafana画K线图

在前面两个笔记&#xff1a; PythonTDengine从零开始搭建量化分析平台-数据存储 PythonTDengine从零开始搭建量化分析平台-MA均线的多种实现方式 中有提到使用 Grafana 画图&#xff0c;不过画的都是均线。除了均线&#xff0c;Grafana 非常人性的提供了 K线图模块 搭配 TDeng…...

前端接口请求支持内容缓存和过期时间

前端接口请求支持内容缓存和过期时间 支持用户自定义缓存时间&#xff0c;在规则时间内读取缓存内容&#xff0c;超出时间后重新请求接口 首先封装一下 axios&#xff0c;这一步可做可不做。但是在实际开发场景中都会对 axios 做二次封装&#xff0c;我们在二次封装的 axios …...

【计算机网络】数据链路层——以太网

文章目录 前言什么是以太网以太网帧格式6位目的地址和源地址2位类型数据长度CRC 校验和 数据在数据链路层是如何转发的 前言 前面我们学习了关于应用层——自定义协议、传输层——UDP、TCP协议、网络层——IP协议&#xff0c;今天我将为大家分享关于数据链路层——以太网方面的…...

【Spring】Spring MVC请求响应

文章目录 1. 请求1.1 传递单个参数1.2 传递多个参数1.3 传递对象1.4 后端参数重命名1.5 传递数组1.6 传递集合1.7 传递JSON对象1.8 获取URL中参数1.9 上传⽂件1.10 获得Cookie1.11 获得Session1.12 获得Header 2. 响应2.1 返回静态界面2.2 返回数据2.3 返回HTML代码片段2.4 返回…...

程序设计与算法(二)算法基础(北京大学MOOC)

一、枚举 1、完美立方 /* 完美立方a^3b^3c^3d^3// a大于b c d// b<c<d*/ #include <iostream> int main() {int a,b,c,d; int N 24;//scanf("%d", &N );for(a2; a<N; a ) //a的范围 [2,N]{for(b2; b<a; b){ //b的范围[2…...

【MedusaSTears】正则表达式搜索心得

文章目录 心得体会1.懒惰匹配最少字符 .?2.前瞻: 字符串后边 包括/不包括 某个单词/字母2-1.包含某单词: start(?.?hello)2-2.不包含某单词: start(?!.?hello) 心得体会 前情回顾: 【MedusaSTears】正则?不要太简单!—正则表达式个人学习心得总结: 正则说白了是对字符串…...

带你从0开始学习自动化框架Airtest

现在市面上做UI自动化的框架很多&#xff0c;包括我们常用的Web自动化框架Selenium&#xff0c;移动端自动化框架Appium。 虽然Selenium和Appium分属同源&#xff0c;而且API都有很多相同的地方&#xff0c;可以无损耗切换&#xff0c;但是还是需要引入不同的库&#xff0c;而…...

MySQL扩展语句和约束方式

一、扩展语句 复制&#xff0c;通过like这个语法直接复制bbb的表结构。只是复制表结构&#xff0c;不能复制表里面的数据 把bbb表里面的数据&#xff0c;复制到test&#xff0c;两个表数据结构要一致 创建一张表&#xff0c;test1,数据从bbb来&#xff0c;表结构也是bbb delete…...

用起来顺手的在线表结构设计软件工具Itbuilder,与你共享

在线表结构设计软件工具需功能简洁&#xff0c;去除晦涩难懂的设置&#xff0c;化繁为简&#xff0c;实用为上&#xff0c;上手非常容易&#xff0c;这些itbuilder统统可以做到。 itbuilder是一款基于浏览器开发的在线表结构设计软件工具&#xff0c;借助人工智能提高效率&…...

Android开发知识学习——HTTPS

文章目录 定义HTTPS连接HTTPS 连接建立的过程课后题 定义 HTTP Secure / HTTP over SSL / HTTP over TLS SSL&#xff1a;Secure Socket Layer -> TLS Transport Layer Security 定义&#xff1a;在HTTP之下增加的一个安全层&#xff0c;用于保障HTTP的加密传输 本质&…...

STM32H750之FreeRTOS学习--------(一)初识RTOS

FreeRTOS 一、初识RTOS 裸机&#xff1a;裸机又称为前后台系统&#xff0c;前台系统指的中断服务函数&#xff0c;后台系统指的大循环&#xff0c;即应用程序 实时性差,程序轮流执行delayCPU空等待&#xff0c;效率低程序混乱&#xff0c;臃肿&#xff0c;功能都放在while循环…...

关于pycharm中句号变成点的问题

现象 在pycharm的使用中&#xff0c;经常遇到一个问题&#xff1a;注释写着写着&#xff0c;突然句号“。”变成了“.” 原因 今天突然发现&#xff0c;造成该现象的原因是&#xff1a;某个瞬间按下了ctrl .&#xff0c;那么之后按下句号只能显示为点。 pycharm中&#xf…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

Vue ③-生命周期 || 脚手架

生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09; 什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a; 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

CSS3相关知识点

CSS3相关知识点 CSS3私有前缀私有前缀私有前缀存在的意义常见浏览器的私有前缀 CSS3基本语法CSS3 新增长度单位CSS3 新增颜色设置方式CSS3 新增选择器CSS3 新增盒模型相关属性box-sizing 怪异盒模型resize调整盒子大小box-shadow 盒子阴影opacity 不透明度 CSS3 新增背景属性ba…...

JS红宝书笔记 - 3.3 变量

要定义变量&#xff0c;可以使用var操作符&#xff0c;后跟变量名 ES实现变量初始化&#xff0c;因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符&#xff0c;可以创建一个全局变量 如果需要定义…...