Linux下安装RabbitMQ

摘要:
前言RabbitMQ是一个开源消息中间件,用Erlang语言编写,因此RabbitMQ安装需要依赖Erlang。现在我们将在Linux下安装RabbitMQ。然而,我们发现在Erlang官方网站上下载Erlang安装包太慢,因此我们以不同的方式使用RabbitMQ提供的零依赖ErlangRPM包,这提供了足够的能力来运行RabbitMQ。Github地址:https://github.com/rabbitmq/erlang-rpm在上面的Github中,提供了相关版本的安装方法。我的Linux环境是CentOS 6.5。要安装的Erlang版本如下:1。首先,使用以下命令创建一个新文件:vim/etc/yum.repos.d/rabitmq-erlang.repo,并将以下内容写入文件,最后保存。

前言

RabbitMQ是一个开源的消息中间件,采用 Erlang 语言进行编写,因此RabbitMQ的安装需要依赖Erlang,现在我们将在 Linux 下进行安装RabbitMQ。

本人环境:CentOS 6.5 64位

安装Erlang

在安装Erlang的时候,有很多种方法,最开始我是想按照官网先下载Erlang安装包,然后再进行安装。但发现下载Erlang官网的安装包实在是太慢了,因此换了一种方式,使用RabbitMQ提供的零依赖的Erlang RPM软件包,它提供了足以运行RabbitMQ的能力。

Github地址:https://github.com/rabbitmq/erlang-rpm

在上面的Github中,提供了相关版本的安装方法,我这里Linux环境是CentOS 6.5,准备安装的Erlang版本如下:

安装Erlang

1,首先,新建一个文件,命令如下:vim /etc/yum.repos.d/rabbitmq-erlang.repo,并将以下内容写入文件中,最后保存。

[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/20/el/6
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1

2,接着,通过 yum命令安装RabbitMQ提供的Erlang版本,命令如下:yum install erlang

[root@bogon rabbitmq]# yum install erlang
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * elrepo: hkg.mirror.rackspace.com
 * epel: hkg.mirror.rackspace.com
 * extras: mirror.bit.edu.cn
 * updates: mirrors.cn99.com
rabbitmq-erlang                                               | 1.3 kB     00:00     
rabbitmq-erlang/primary                                       |  20 kB     00:00     
rabbitmq-erlang                                                                  3/3
Resolving Dependencies
--> Running transaction check
---> Package erlang.x86_64 0:20.3.8.24-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================
 Package        Arch           Version                 Repository               Size
=====================================================================================
Installing:
 erlang         x86_64         20.3.8.24-1.el6         rabbitmq-erlang          18 M

Transaction Summary
=====================================================================================
Install       1 Package(s)

Total download size: 18 M
Installed size: 31 M
Is this ok [y/N]: N
Exiting on user Command
Your transaction was saved, rerun it with:
 yum load-transaction /tmp/yum_save_tx-2019-12-28-23-05bDCcch.yumtx
[root@bogon rabbitmq]# yum install erlang=20.0
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * elrepo: hkg.mirror.rackspace.com
 * epel: hkg.mirror.rackspace.com
 * extras: mirror.bit.edu.cn
 * updates: mirrors.cn99.com
No package erlang=20.0 available.
Error: Nothing to do
[root@bogon rabbitmq]# yum install erlang
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * elrepo: hkg.mirror.rackspace.com
 * epel: hkg.mirror.rackspace.com
 * extras: mirror.bit.edu.cn
 * updates: mirrors.cn99.com
Resolving Dependencies
--> Running transaction check
---> Package erlang.x86_64 0:20.3.8.24-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================
 Package        Arch           Version                 Repository               Size
=====================================================================================
Installing:
 erlang         x86_64         20.3.8.24-1.el6         rabbitmq-erlang          18 M

Transaction Summary
=====================================================================================
Install       1 Package(s)

Total download size: 18 M
Installed size: 31 M
Is this ok [y/N]: y
Downloading Packages:
erlang-20.3.8.24-1.el6.x86_64.rpm                             |  18 MB     00:18     
warning: rpmts_HdrFromFdno: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEY
Retrieving key from https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
Importing GPG key 0x6026DFCA:
 Userid: "RabbitMQ Release Signing Key <info@rabbitmq.com>"
 From  : https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : erlang-20.3.8.24-1.el6.x86_64                                     1/1 
  Verifying  : erlang-20.3.8.24-1.el6.x86_64                                     1/1 

Installed:
  erlang.x86_64 0:20.3.8.24-1.el6                                                    

Complete!

3,最后,验证 Erlang是否安装成功,在终端输入 erl

[root@bogon rabbitmq]# erl
Erlang/OTP 20 [erts-9.3.3.13] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V9.3.3.13  (abort with ^G)
1> 

出现如上提示,说明Erlang已经安装成功。

下载RabbitMQ

在上面,我们安装的Erlang版本是 20.3.x ,根据RbbitMQ对Erlang版本要求,我选择安装的RabbitMQ版本是 3.7.6 ,可以直接从Gtihub中下载已发行版本。

RbbitMQ对Erlang版本要求:https://www.rabbitmq.com/which-erlang.html
Github下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.6

1,首先,创建一个文件夹,用于存放即将下载的RabbitMQ。

创建文件夹:mkdir /opt/rabbitmq
进入文件夹:cd /opt/rabbitmq

2,接着,通过 wget 命令下载RabbitMQ,也可以在Windows中下载再上传到Linux。

下载RabbitMQ命令:wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.6/rabbitmq-server-generic-unix-3.7.6.tar.xz

3,最后,将下载的RabbitMQ解压。因为这里下载的是后缀为 .tar.xz 的文件,需要通过 tarxz 命令进行解压,如果没有安装 xz 解压工具的话,可以通过 yum -y install xz 命令进行安装。解压命令如下:

xz -d rabbitmq-server-generic-unix-3.7.6.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.6.tar

查看 /opt/rabbitmq 下的文件,显示的文件如下:

[root@bogon rabbitmq]# ls
rabbitmq_server-3.7.6  rabbitmq-server-generic-unix-3.7.6.tar
[root@bogon rabbitmq]# 

启动RabbitMQ

进入 /opt/rabbitmq/rabbitmq_server-3.7.6/sbin 目录下,我们这里下载的 RabbitMQ 解压后直接使用即可。

前台启动服务:./rabbitmq-server
后台启动服务:./rabbitmq-server -detached
查看服务状态:./rabbitmqctl status
关闭服务:./rabbitmqctl stop

[root@bogon ~]# cd /opt/rabbitmq/rabbitmq_server-3.7.6/sbin
[root@bogon sbin]# ls
cuttlefish   rabbitmq-defaults     rabbitmq-env      rabbitmq-server
rabbitmqctl  rabbitmq-diagnostics  rabbitmq-plugins
[root@bogon sbin]# ./rabbitmq-server

  ##  ##
  ##  ##      RabbitMQ 3.7.6. Copyright (C) 2007-2018 Pivotal Software, Inc.
  ##########  Licensed under the MPL.  See http://www.rabbitmq.com/
  ######  ##
  ##########  Logs: /opt/rabbitmq/rabbitmq_server-3.7.6/var/log/rabbitmq/rabbit@bogon.log
                    /opt/rabbitmq/rabbitmq_server-3.7.6/var/log/rabbitmq/rabbit@bogon_upgrade.log

              Starting broker...
 completed with 0 plugins.

创建用户

接下来,我们需要创建一个用户,并给其赋予管理员权限。

新增用户:./rabbitmqctl add_user admin 123456
给用户赋予权限:
./rabbitmqctl set_user_tags admin administrator
./rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

其他的一些命令:

查看用户列表:./rabbitmqctl list_users
修改用户密码:./rabbitmqctl change_password 用户名 新密码
删除用户:./rabbitmqctl delete_user 用户名

[root@bogon sbin]# ./rabbitmqctl add_user admin 123456
Adding user "admin" ...
[root@bogon sbin]# ./rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
[root@bogon sbin]# ./rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/" ...
[root@bogon sbin]# ./rabbitmqctl list_users
Listing users ...
admin   [administrator]
guest   [administrator]
[root@bogon sbin]# 

开启Web界面管理工具

我们在 /opt/rabbitmq/rabbitmq_server-3.7.6/sbin 目录下 ,可以开启Web控制台管理插件,命令如下:

./rabbitmq-plugins enable rabbitmq_management

[root@bogon sbin]# ./rabbitmq-plugins enable rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@bogon...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.
[root@bogon sbin]#

最后,我们需要再检查一下相关端口是否已开放,比如15672、5672等,其中,15672是Web管理界面端口,5672是AMQP通信端口。

在Windows中输入地址进行访问:http://ip地址:15672/,可以看到RabbitMQ的控制台管理界面。

登录RabbitMQ

RabbitMQ主界面

免责声明:文章转载自《Linux下安装RabbitMQ》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何打包和部署air应用程序iOS 内购集成与遇到的坑,添加新内购项目下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

20191218 实验一 《Python程序设计》实验报告

学号 2020-2021-2 《Python程序设计》实验一报告 课程:《Python程序设计》班级: 1912姓名: 唐启恒学号:20191218实验教师:王志强实验日期:2021年4月18日必修/选修: 公选课 1. 实验过程及结果 (1).熟悉Python开发环境;(2).练习Python运行、调试技能;(3).编写程序,练习变量和类型、字符串、对象...

C#Win32API编程之PostMessage

  由于C#屏蔽了很多操作系统内核级的操作,将保护机制进行了加强,通过普通方法是无法完成如后台键鼠模拟、进程内存读写、网络封包拦截等操作的。   而C#又提供了调用非托管代码的DllImport,使得我们可以调用操作系统较为底层的API来完善程序功能。   本文就C#调用Win32API函数PostMessage完成指定窗体后台键鼠模拟作为示例,粗略讲解一...

涨姿势了解一下Kafka消费位移可好?

摘要:Kafka中的位移是个极其重要的概念,因为数据一致性、准确性是一个很重要的语义,我们都不希望消息重复消费或者丢失。而位移就是控制消费进度的大佬。本文就详细聊聊kafka消费位移的那些事,包括: 概念剖析 kafka的两种位移 关于位移(Offset),其实在kafka的世界里有两种位移: 分区位移:生产者向分区写入消息,每条消息在分区中的位置信息...

如何将txt中的数据整理到Matlab中画图

需求:我有一个如下图所示格式错乱的txt文本,现在我需要用matlab把其中的某些列画成图,具体步骤如下: 1.txt文本中的初始值整理好; 2.新建excel文件,数据-导入-选择txt文档-导入; 这里需要说明的是:excel文件必须放在MATLAB的主文件夹下,如上图所示的位置。 下面开始导入数据: 一直下一步知道完成。 3.选定排序,对B...

wpa_supplicant

一 函数接口介绍 wpa_ctrl_open接口用来打开wpa_supplicant的控制接口,在UNIX系统里使用UNIX domain sockets,而在Windows里则是使用UDP sockets,当然接口的路径并不是固定的,可以根据配置文件内的路径设置来改变。wpa_ctrl_close接口自然是用于关闭控制接口。wpa_ctrl_reques...

esxi中CentOS7不停机加磁盘并扩容现有分区

linux的磁盘容量扩容,基于lvm,即逻辑卷管理。具体是什么请百度,这里不细述。 此次操作的目的是为了给已存在的linux主机的其中一个数据分区扩容。 环境:esxi6.5  虚拟机系统centos7 简单来说,扩容这件事分三步 一、从esxi中为此虚拟机增加硬盘,并让centos系统识别出此硬盘 二、将此硬盘进行分区、格式化(重点是这里的分区不是类似...