centos系统下RabbitMQ安装教程

news2024/11/28 14:36:28

centos系统下RabbitMQ安装教程
我这里的环境用的腾讯云的轻应用环境

RabbitMQ是一个开源的遵循AMQP协议实现的基于Erlang语言编写,即需要先安装部署Erlang环境再安装RabbitMQ环境。需加注意的是,读者若不想跟着我的版本号下载安装,可根据两者版本号的对应表进行下载,安装相应版本的Erlang和RabbitMQ,只需在下文修改命令里面的版本号即可,如下:
一 Erlang下载安装
在确定了RabbitMQ版本号后,先下载安装Erlang环境。

wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-22.3.4.12-1.el7.x86_64.rpm/download.rpm
[root@VM-8-17-centos new]# wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.13-1.el7.noarch.rpm/download.rpm
--2022-11-27 22:54:52--  https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.13-1.el7.noarch.rpm/download.rpm
Resolving packagecloud.io (packagecloud.io)... 52.52.36.226, 54.183.55.100, 2600:1f1c:2e5:6900:6ede:11a0:5db3:4dfb, ...
Connecting to packagecloud.io (packagecloud.io)|52.52.36.226|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://d28dx6y1hfq314.cloudfront.net/828/1033/el/7/package_files/1305009.rpm?t=1669561193_b7657897acf0012634d1db181f00c0b527f201b8 [following]
--2022-11-27 22:54:53--  https://d28dx6y1hfq314.cloudfront.net/828/1033/el/7/package_files/1305009.rpm?t=1669561193_b7657897acf0012634d1db181f00c0b527f201b8
Resolving d28dx6y1hfq314.cloudfront.net (d28dx6y1hfq314.cloudfront.net)... 13.225.95.31, 13.225.95.224, 13.225.95.111, ...
Connecting to d28dx6y1hfq314.cloudfront.net (d28dx6y1hfq314.cloudfront.net)|13.225.95.31|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15836454 (15M) [application/x-rpm]
Saving to: ‘rabbitmq-server-3.8.13-1.el7.noarch.rpm’

100%[============================================================================================>] 15,836,454  13.5MB/s   in 1.1s   

2022-11-27 22:54:55 (13.5 MB/s) - ‘rabbitmq-server-3.8.13-1.el7.noarch.rpm’ saved [15836454/15836454]

接着,安装已下载的rpm包

yum localinstall erlang-22.3.4.12-1.el7.x86_64.rpm

[root@VM-8-17-centos new]# yum localinstall erlang-22.3.4.12-1.el7.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Examining erlang-22.3.4.12-1.el7.x86_64.rpm: erlang-22.3.4.12-1.el7.x86_64
Marking erlang-22.3.4.12-1.el7.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package erlang.x86_64 0:22.3.4.12-1.el7 will be installed
--> Finished Dependency Resolution
rabbitmq_erlang/x86_64/signature                                                                               |  833 B  00:00:00     
rabbitmq_erlang/x86_64/signature                                                                               | 1.8 kB  00:00:00 !!! 
rabbitmq_erlang-source/signature                                                                               |  819 B  00:00:00     
rabbitmq_erlang-source/signature                                                                               |  951 B  00:00:00 !!! 

Dependencies Resolved

======================================================================================================================================
 Package                Arch                   Version                           Repository                                      Size
======================================================================================================================================
Installing:
 erlang                 x86_64                 22.3.4.12-1.el7                   /erlang-22.3.4.12-1.el7.x86_64                  34 M

Transaction Summary
======================================================================================================================================
Install  1 Package

Total size: 34 M
Installed size: 34 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : erlang-22.3.4.12-1.el7.x86_64                                                                                      1/1 
  Verifying  : erlang-22.3.4.12-1.el7.x86_64                                                                                      1/1 

Installed:
  erlang.x86_64 0:22.3.4.12-1.el7                                                                                                     

Complete!

二 RabbitMQ下载安装
下面依旧通过wget命令完成RabbitMQ的下载。

wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.13-1.el7.noarch.rpm/download.rpm

当你下载完成后,你需要运行下面的命令来将 Key 导入,执行命令:

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

yum安装:

yum localinstall rabbitmq-server-3.8.13-1.el7.noarch.rpm
[root@VM-8-17-centos new]# rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
[root@VM-8-17-centos new]# yum localinstall rabbitmq-server-3.8.13-1.el7.noarch.rpm
Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Examining rabbitmq-server-3.8.13-1.el7.noarch.rpm: rabbitmq-server-3.8.13-1.el7.noarch
Marking rabbitmq-server-3.8.13-1.el7.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package rabbitmq-server.noarch 0:3.8.13-1.el7 will be installed
--> Processing Dependency: socat for package: rabbitmq-server-3.8.13-1.el7.noarch
Loading mirror speeds from cached hostfile
 * centos-sclo-rh: mirrors.bupt.edu.cn
--> Running transaction check
---> Package socat.x86_64 0:1.7.3.2-2.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================================================
 Package                      Arch                Version                     Repository                                         Size
======================================================================================================================================
Installing:
 rabbitmq-server              noarch              3.8.13-1.el7                /rabbitmq-server-3.8.13-1.el7.noarch               16 M
Installing for dependencies:
 socat                        x86_64              1.7.3.2-2.el7               os                                                290 k

Transaction Summary
======================================================================================================================================
Install  1 Package (+1 Dependent package)

Total size: 16 M
Total download size: 290 k
Installed size: 17 M
Is this ok [y/d/N]: y
Downloading packages:
socat-1.7.3.2-2.el7.x86_64.rpm                                                                                 | 290 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : socat-1.7.3.2-2.el7.x86_64                                                                                         1/2 
  Installing : rabbitmq-server-3.8.13-1.el7.noarch                                                                                2/2 
  Verifying  : rabbitmq-server-3.8.13-1.el7.noarch                                                                                1/2 
  Verifying  : socat-1.7.3.2-2.el7.x86_64                                                                                         2/2 

Installed:
  rabbitmq-server.noarch 0:3.8.13-1.el7                                                                                               

Dependency Installed:
  socat.x86_64 0:1.7.3.2-2.el7                                                                                                        

Complete!

如此RabbitMQ安装成功就安装成功了,安装完成后,需要启动 rabbitmq 服务器,执行命令:

systemctl start rabbitmq-server

设置开机自动启动,执行命令:

systemctl enable rabbitmq-server

在目录下启动的命令

/sbin/service rabbitmq-server start  #启动

/sbin/service rabbitmq-server status #状态

/sbin/service rabbitmq-server stop #停止

三 RabbitMQ Web界面管理
默认情况下,是没有安装web端的客户端插件,需要安装才可以生效 。执行命令:

[root@VM-8-17-centos new]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@VM-8-17-centos:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@VM-8-17-centos...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

set 3 plugins.
Offline change; changes will take effect at broker restart.

安装完毕以后,重启服务即可,执行命令:

[root@VM-8-17-centos new]# systemctl restart rabbitmq-server

注意,请在服务器上开放 15672 端口

firewall-cmd --zone=public --add-port=15672/tcp --permanent

systemctl restart firewalld

新增用户。

[root@VM-8-17-centos new]# rabbitmqctl add_user admin 123456
Adding user "admin" ...
Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.

设置用户分配操作权限。

[root@VM-8-17-centos new]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...

设置 vhost的用户权限

[root@VM-8-17-centos new]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" 
Setting permissions for user "admin" in vhost "/" ...

最后就可以输入IP:15672登录web界面了

在这里插入图片描述
总结使用rpm包安装方式是最快捷的一种方式,不过还有源码安装方式,
但是比如 :erlang环境
wget http://www.erlang.org/download/otp_src_24.0.tar.gz,下载慢如蜗牛
顺便贴下过程,我这里使用otp_src_21.1.tar.gz演示

(1)安装erlang所需要的依赖
1 运行以下命令,安装erlang所需要的依赖

yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel

2 运行以下命令,下载erlang安装包

wget http://erlang.org/download/otp_src_21.1.tar.gz

3 运行以下命令,解压erlang安装包

tar -zxvf otp_src_21.1.tar.gz

4 运行以下命令,进入erlang安装包的解压路径,并为erlang创建一个新的目录

cd otp_src_21.1
mkdir -p /usr/local/erlang

5 依次运行以下命令,编译并安装erlang

./configure --prefix=/usr/local/erlang
make && make install

6 安装完成后,运行以下命令,为erlang配置环境变量

echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

7 运行以下命令,使环境变量立即生效

source /etc/profile

8 运行以下命令,返回系统的/root目录,然后查看erlang版本,确认是否安装成功

cd
erl -version

(2)下载并安装RabbitMQ
RabbitMQ对Erlang的版本具有一定限制,更多信息,请参见RabbitMQ Erlang Version Requirements。本示例使用的Erlang为21.1版本,因此选择下载RabbitMQ 3.7.8版本

1、运行以下命令,下载RabbitMQ安装包

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.8/rabbitmq-server-generic-unix-3.7.8.tar.xz

2、运行以下命令,解压RabbitMQ安装包

tar -xvf rabbitmq-server-generic-unix-3.7.8.tar.xz

3、解压完成后,运行以下命令,为RabbitMQ配置环境变量

echo 'export PATH=$PATH:/root/rabbitmq_server-3.7.8/sbin' >> /etc/profile

4、运行以下命令,使环境变量立即生效

source /etc/profile

(3)配置RabbitMQ。
1、运行以下命令,启动RabbitMQ并后台运行

rabbitmq-server -detached

注意 该命令只在当前运行的系统环境下启动RabbitMQ,一旦服务器重启,RabbitMQ服务将不会自动启动。因此,建议您通过阿里云的云助手功能,设置RabbitMQ开机自启动。具体操作,请参见通过云助手设置RabbitMQ开机自启动。

2、运行以下命令,启动RabbitMQ监控插件。

rabbitmq-plugins enable rabbitmq_management

如果您需要关闭RabbitMQ监控插件,可以运行
rabbitmq-plugins disable rabbitmq_management命令。

3、为保证数据安全,建议您运行以下命令,删除默认用户。

RabbitMQ默认的账号用户名和密码都是guest。

rabbitmqctl delete_user guest

4、创建RabbitMQ管理员用户。

a 运行以下命令,创建一个新用户

rabbitmqctl add_user <用户名> <密码>

其中,<用户名>和<密码>为您自定义的信息。

b 运行以下命令,将创建的新用户设置为管理员。

rabbitmqctl set_user_tags <用户名> administrator

c 运行以下命令,赋予新创建的用户所有权限

rabbitmqctl set_permissions -p / <用户名> ".*" ".*" ".*"

(4)配置RabbitMQ的rabbitmq-server文件。

1.1 运行以下命令,编辑rabbitmq-server文件。

vi /root/rabbitmq_server-3.7.8/sbin/rabbitmq-server

1.2 按下shift+:组合键,然后输入set nu查看文件的行号。

1.3 按下shift+:组合键,然后输入189跳转至189行。

1.4 按下i键,进入编辑模式

在189行新增以下内容:

export PATH=$PATH:/usr/local/erlang/bin
export HOME=/root/rabbitmq_server-3.7.8/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41846.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git 的内部工作原理

简介 通过本次分享学习 Git 的内部工作原理和实现方式。 学习这部分内容对于理解 Git 的用途和强大至关重要。 首先要弄明白一点&#xff0c;从根本上来讲 Git 是一个内容寻址&#xff08;content-addressable&#xff09;文件系统&#xff0c;并在此之上提供了一个版本控制…

WPF基础知识系例

WPF系列-绘图和动画1、WPF绘图1.1 直线1.2 矩形1.3 椭圆1.4 路径1、WPF绘图 这里将从静态图像绘制入手&#xff0c;进而学习动画效果制作。WPF 拥有自己的一套图形 API &#xff0c;使用这套 API 不但可以轻松地绘制出精美的图形&#xff0c;还可以方便地对图形进行滤镜、变形…

致敬逆行者网页设计作品 大学生抗疫感动专题网页设计作业模板 疫情感动人物静态HTML网页模板下载

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

RPC 对比 HTTP

初识RPC RPC 远程方法调用&#xff08;Remote Procedure Call&#xff09;大多用在服务治理领域 基本都是分布式环境中的注册中心来负责新服务的注册、服务续约、服务下线、服务销毁国内 Dubbo 是应用最广的 RPC 框架国外 gRPC RPC协议 无论哪种RPC方案&#xff0c;都要自定义…

你好,法语!A2知识点总结(3)

3.句型 3.1疑问 注意1 主谓倒装的疑问句式&#xff0c;主语必须是代词。 •主语是名词&#xff0c;不能直接倒装&#xff0c;要人为加进去一个代替主语的代词放在动词后面&#xff0c;“-”连接 •EX: Votre pre est professeur? •Est-votre pre professeur? •Votre pre e…

Kafka的设计原理

Kafka的设计原理和使用场景一、Kafka简介二、Kafka的架构2.1、Kafka 一些重要概念2.2、工作流程2.3、副本原理2.4、分区和主题的关系2.5、生产者2.5.1、分区可以水平扩展2.5.2、分区策略2.6、消费者2.6.1、消费方式2.6.2、分区分配策略2.7、数据可靠性保证2.7.1、副本数据同步策…

Linux基础知识

目录 流行的Linux发行版本 Linux系统的启动顺序 禁止使用ping命令 鉴定故障解决办法 user 不在 sudoers 文件中。此事将被报告解决办法 修改文件或目录的所属用户与权限 1、chgrp&#xff1a;更改文件属组 2、chown&#xff1a;更改文件属主&#xff0c;也可以同时更改文…

Agent 与对象的辨析

如果说对象是70年代以来软件界最激动人心的革新之一&#xff0c;那么&#xff0c;Agent的相关理论和技术&#xff0c;为分布式开放系统的设计与实现提供了新的途径&#xff0c;可以称之为软件开发的又一重大突破。讨论问题的前提是概念的澄清&#xff0c;什么是对象&#xff1f…

【学习笔记49】JavaScript的this指向

一、this指向 每一个函数内部都有一个关键字thisthis的值, 和函数的调用有关, 与函数书写无关 1. 普通调用方式 一个普通的全局函数, 在正常调用的情况下, this window function fn() {console.log(this); }fn() // this window2. 函数放置到对象 如果将函数放置到对象…

图数据技术护航网络安全 - Neo4j 大中华区总经理 方俊强

网络数字化及人工智能为许多行业来革命性的进步&#xff0c;但与此同时&#xff0c;网络安全领域产生的问题也日益严峻。人工智能进攻性风险和网络威胁领域的发展正在重新定义企业安全&#xff0c;从而给企业带来了更高的挑战。如何守护网络安全&#xff0c;成为企业深化数字化…

CSDN第十一场竞赛

目录 1.比赛详情 2.竞赛详情 3.原题回顾 (1).圆小艺 思路模拟 代码实现 (2). K皇把妹 思路模拟 代码实现 (3).筛选宝物 思路模拟 代码实现 (4).圆桌 思路模拟 代码实现 4.总结 1.比赛详情 报名地址&#xff1a;https://edu.csdn.net/contest/detail/24?utm_sou…

目标检测论文解读复现之二十:基于改进Yolov5的地铁隧道附属设施与衬砌表观病害检测方法

前言 此前出了目标改进算法专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读最新目标检测算法论文&#xff0…

14个SpringBoot优化小妙招

1. 定义配置文件信息 有时候我们为了统一管理会把一些变量放到 yml 配置文件中 例如 用 ConfigurationProperties 代替 Value 使用方法 定义对应字段的实体 Data // 指定前缀 ConfigurationProperties(prefix "developer") Component public class DeveloperPro…

力扣(LeetCode)813. 最大平均值和的分组(C++)

动态规划 本题需要用到前缀和&#xff0c;前缀和需要将下标 iii 后移一位&#xff0c;所以我们将状态的下标 iii 也后移一位&#xff1b;由于状态转移依赖于 j−1j-1j−1 &#xff0c;我们将 jjj 的下标后移一位。 class Solution { public:double largestSumOfAverages(vecto…

2022天梯赛练习集(2022.9-2022.10)

使用函数判断完全平方数 没有加&#xff08;int&#xff09;过不了 int IsSquare(int n){if((int)sqrt(n) * sqrt(n) ! n) return 0;else return 1; } 使用函数求余弦函数的近似值 double funcos(double e, double x){double sum 1, item 1;for(int i 0; fabs(item) >…

Tmuxs -高效使用Linux terminal

Tmuxs -高效使用Linux terminal前言what&#xff1f;重要概念安装Tmux 常用命令Tmux 常用内部命令窗口&#xff08;window&#xff09;指令&#xff1a;面板&#xff08;pane&#xff09;指令&#xff1a;如何用鼠标调整pane大小配置生效参考配置参考前言 这个利器绝对可以提升…

eMMC编程基础 -(二)eMMC基础介绍

eMMC编程基础 -&#xff08;二&#xff09;eMMC基础介绍1 eMMC 简介1.1 eMMC系统概述1.2 eMMC 的整体架构如下图片所示&#xff1a;2 Flash Memory1 eMMC 简介 eMMC 是 embedded MultiMediaCard 的简称。 eMMC 是对 MMC 的一个拓展&#xff0c;以满足更高标准的性能、成本、体…

文件包含笔记

很多语言支持使用包含文件&#xff0c;这样允许开发者把可重复使用的代码存入单个文件中&#xff0c;在未来需要使用时&#xff0c;将它包含在其他代码文件中即可使用。 如果是像 C/C 这种编译语言&#xff0c;即使可以包含任意文件&#xff0c;若没有调用其中函数也不会有什么…

【从零开始学微服务】05.微服务的优势和不足

大家好&#xff0c;欢迎来到万猫学社&#xff0c;跟我一起学&#xff0c;你也能成为微服务专家。 没有“银弹” 在一些电影中&#xff0c;“银弹”被视作能迅速杀死狼人的武器&#xff0c;是杀死狼人的灵丹妙药。“银弹”常被比喻为解决复杂问题的良方或高招。 由于软件的复杂…

11.27

一.进制转换 这道题的思路就是先把每个数模对应的进制.再除以,就得到对应的, 因为可能会有16进制,所以直接弄一个字符串数组,按照"0123456789ABCDEF"顺序存储,再用模找里面对应的就可以了 但是有可能是负数,所以我们需要在此之前判断一下 如果用字符串临时拼接会产…