Linux环境下安装部署单机RabbitMQ(离线)

摘要

本文档适用于在Linux系统下部署单体RabbitMQ,是在无网的情况下部署的。涉及的任何操作都是通过手动下载安装包然后上传到服务器上进行安装,因此也遇到一些问题,并在此文档中记录。

实际操作环境:Kylin V10,实际操作的Linux系统是银河麒麟。根据我安装的过程,觉得适用于所有Linux的操作系统。

一、准备环境

1.确认目前服务器上是否有gcc的环境

命令:gcc -v

如出现如图所示,如果出现gcc版本信息及其他相关信息,则说明已经有gcc环境了,跳过后续安装gcc步骤;若没有则需要安装。

2.安装gcc、g++

离线安装

阿里云盘下载地址:https://www.aliyundrive.com/s/VpQ3g4L6oub

提取码: sj94

离线安装包:gcc环境安装包

gcc安装包内容如下:

Linux环境下安装部署单机RabbitMQ(离线)_第1张图片

 g++安装包内容:

Linux环境下安装部署单机RabbitMQ(离线)_第2张图片

下载后,把安装包解压到服务器上,先安装gcc,再安装g++。分别执行两个文件夹下的install.sh。

执行命令 sh install.sh 它其实就是去执行rpm -ivh 等全部需要安装命令,这样就可以不用手动去执行了如果执行上述命令出现了问题(一般都是版本问题) 有问题可以手动执行下列图片中所有的rpm。

例:rpm -ivh gcc-4.8.5-4.el7.x86_64.rpm

同一个目录下批量安装rpm文件:rpm -ivh *rpm

如果遇到依赖版本的问题:

error: Failed dependencies:

cpp = 4.8.5-4.el7 is needed by gcc-4.8.5-4.el7.x86_64 libgomp = 4.8.5-4.el7 is needed by gcc-4.8.5-4.el7.x86_64 gcc < 8 conflicts with (installed) UnionTech-rpm-config-129-1.uelc20.03.x86_64

解决方法:强制安装需要安装的rpm文件 参数 --force(强制) --nodeps(不查找依赖关系)

例如:rpm -ivh *rpm --depes --force

如果gcc环境安装完成,那么就可以进行下一步啦。

验证:gcc -vgcc --version
如下图所示:即为成功

Linux环境下安装部署单机RabbitMQ(离线)_第3张图片

二、通过安装包的方式安装Erlang

1.先确认erlang和RabbitMQ之间的版本关系

温馨提示:下滑就能找到你想要的Erlang版本和RabbitMQ的版本

地址:https://rabbitmq.com/which-erlang.html

Linux环境下安装部署单机RabbitMQ(离线)_第4张图片2.Erlang下载地址

下载地址:

 http://erlang.org/download/

记住是下载tar.gz的压缩包,不要下载错了。

Linux环境下安装部署单机RabbitMQ(离线)_第5张图片

如果下载的慢的,大家可以下载我提供的一个23.2版本

链接:https://pan.baidu.com/s/1a57cSsytZgUxUXUo4J_bNA
提取码:gide

3.上传到服务器

4.解压下载Erlang的安装包

 tar -zxvf otp_src_23.2.tar.gz

5.切换到解压好的目录并安装

cd otp_src_23.2

./configure --prefix=/usr/local/erlang --without-javac

make

make install

 注意观察最后几行如果没出息error等信息,即为安装成功。

6.配置环境变量

vim /etc/profile

在文件末尾添加如下信息在环境变量中:

export ERLANG_HOME=/usr/local/erlang

export PATH=$PATH:/usr/local/erlang/bin

7.刷新环境变量,使其配置生效

 source /etc/profile

8.验证是否安装成功

erl -version 查看版本

输入:erl 能进入它的面板即为成功。

输入:q(). 优雅退出

Linux环境下安装部署单机RabbitMQ(离线)_第6张图片

 安装Erlang遇到的问题

在执行./configure --prefix=/usr/local/erlang --without-javac时遇到如下报错信息:

configure: error: No curses library functions found
ERROR: /data/rabbitmq/otp_src_23.2/erts/configure failed! Killed

这个错误表明在编译 Erlang/OTP 源代码时,找不到 Curses 库函数。Curses 是一个操作终端的库,它通常用于在终端中显示文本界面。

解决方案:安装ncurses-devel,由于不能联网,因此只能手动安装。

下载地址:Index of /gnu/ncurses

提供了一个网盘地址6.0版本

链接:https://pan.baidu.com/s/1c20-kT7szD6ePL7B8LWWWg
提取码:n4x8

我选择的是6.0的版本,大家也可自行选择

Linux环境下安装部署单机RabbitMQ(离线)_第7张图片

下载之后,上传到服务器上

安装ncurses

解压:tar -zxvf ncurses-6.0.tar.gz

cd ncurses-6.0

./configure --with-shared --without-debug --without-ada --enable-overwrite

make 

make install

安装完成之后,就可以重新再执行这个配置Erlang命令:

./configure --prefix=/usr/local/erlang --without-javac,就不会报错了,然后再执行后续的make和make install ,Erlang就安装完成。

三、通过安装包的方式安装RabbitMQ

1.官方提供的安装RabbitMQ的方式:

Downloading and Installing RabbitMQ — RabbitMQ

2. 我们手动下载并上传

在有网的地方访问如下:并将下载好的RabbitMQ的压缩包上传到服务器。

https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.8/rabbitmq-server-generic-unix-3.9.8.tar.xz

大家可以自行更改上面RabbitMQ的版本,可以去官网看RabbitMQ的版本,直接替换上面的下载地址的版本信息。就能下载对应版本RabbitMQ。

百度网盘地址:

链接:https://pan.baidu.com/s/1Fq7ZjmUs8qRQeWqM-84lIw
提取码:vgby

3.解压

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

4.将解压好的RabbitMQ移动到/usr/local 目录(根据自己意思可移可不移)

 mv rabbitmq_server-3.9.8/ /usr/local/rabbitmq

5.配置环境变量

vim /etc/profile

在文件末尾添加如下信息在环境变量中:

export RABBIT_MQ_HOME=/usr/local/rabbitmq

export PATH=$PATH:/usr/local/rabbitmq/sbin

6.刷新环境变量,使其配置生效

 source /etc/profile

7.添加web管理的插件

rabbitmq-plugins enable rabbitmq_management

 执行之后,如下所示:

Linux环境下安装部署单机RabbitMQ(离线)_第8张图片

8.启动RabbitMQ

rabbitmq-server -detached

/usr/local/rabbitmq/sbin/rabbitmq-server -detached

由于RabbitMQ的默认账号是guest,只能本机通过localhost方式访问了,因此接下来我们重新创建一个用户,并设置成为管理员和全部权限。

9.创建用户和密码

rabbitmqctl add_user <用户> <密码>

例: rabbitmqctl add_user admin admin

查看是否添加成功:rabbitmqctl list_users

Linux环境下安装部署单机RabbitMQ(离线)_第9张图片

10.将创建的新用户设置为管理员

rabbitmqctl set_user_tags <用户名> administrator

11.赋予新创建的用户所有权限

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

 四、RabbitMQ常用命令

## 服务启动停止:

# 服务启动:

rabbitmq-server -detached

#服务停止:

rabbitmqctl stop

## 插件管理:

# 插件列表:

rabbitmq-plugins list

# 启动插件:

rabbitmq-plugins enable XXX   #(XXX为插件名)

# 停用插件:

rabbitmq-plugins disable XXX

## 用户管理:

# 添加用户:

rabbitmqctl add_user username password

# 删除用户:

rabbitmqctl delete_user username

# 修改密码:

rabbitmqctl change_password username newpassword

# 设置用户角色:

rabbitmqctl set_user_tags username tag

# 列出用户:

rabbitmqctl list_users

## 权限管理:

# 列出所有用户权限:

rabbitmqctl list_permissions

# 查看制定用户权限:

rabbitmqctl list_user_permissions username

# 清除用户权限:

rabbitmqctl clear_permissions [-p vhostpath] username

# 设置用户权限:

# conf: 一个正则匹配哪些资源能被该用户访问

# write:一个正则匹配哪些资源能被该用户写入

# read:一个正则匹配哪些资源能被该用户读取

rabbitmqctl set_permissions [-p vhostpath] username conf write read

五、验证

启动RabbitMQ之后,可以通过如下命令查看是否有关于15672的端口,这个web访问的端口

命令:netstat -lnpt

说明RabbitMQ就成功启动了。

Linux环境下安装部署单机RabbitMQ(离线)_第10张图片

访问:IP+15672,如果出现如下图所示:即为安装成功。

Linux环境下安装部署单机RabbitMQ(离线)_第11张图片

参考:RabbitMQ环境部署(Windows、单机、Docker、集群)_rabbitmq windows 部署_用生命研发技术的博客-CSDN博客

你可能感兴趣的:(linux,运维,服务器)