本文档适用于在Linux系统下部署单体RabbitMQ,是在无网的情况下部署的。涉及的任何操作都是通过手动下载安装包然后上传到服务器上进行安装,因此也遇到一些问题,并在此文档中记录。
实际操作环境:Kylin V10,实际操作的Linux系统是银河麒麟。根据我安装的过程,觉得适用于所有Linux的操作系统。
命令:gcc -v
如出现如图所示,如果出现gcc版本信息及其他相关信息,则说明已经有gcc环境了,跳过后续安装gcc步骤;若没有则需要安装。
离线安装
阿里云盘下载地址:https://www.aliyundrive.com/s/VpQ3g4L6oub
提取码: sj94
离线安装包:gcc环境安装包
gcc安装包内容如下:
g++安装包内容:
下载后,把安装包解压到服务器上,先安装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 -v 或 gcc --version
如下图所示:即为成功
温馨提示:下滑就能找到你想要的Erlang版本和RabbitMQ的版本
地址:https://rabbitmq.com/which-erlang.html
下载地址:
http://erlang.org/download/
记住是下载tar.gz的压缩包,不要下载错了。
如果下载的慢的,大家可以下载我提供的一个23.2版本
链接:https://pan.baidu.com/s/1a57cSsytZgUxUXUo4J_bNA
提取码:gide
tar -zxvf otp_src_23.2.tar.gz
cd otp_src_23.2
./configure --prefix=/usr/local/erlang --without-javac
make
make install
注意观察最后几行如果没出息error等信息,即为安装成功。
vim /etc/profile
在文件末尾添加如下信息在环境变量中:
export ERLANG_HOME=/usr/local/erlang
export PATH=$PATH:/usr/local/erlang/bin
source /etc/profile
erl -version 查看版本
输入:erl 能进入它的面板即为成功。
输入:q(). 优雅退出
在执行./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的版本,大家也可自行选择
下载之后,上传到服务器上
解压: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就安装完成。
Downloading and Installing RabbitMQ — RabbitMQ
在有网的地方访问如下:并将下载好的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
tar -xvf rabbitmq-server-generic-unix-3.9.8.tar.xz
mv rabbitmq_server-3.9.8/ /usr/local/rabbitmq
vim /etc/profile
在文件末尾添加如下信息在环境变量中:
export RABBIT_MQ_HOME=/usr/local/rabbitmq
export PATH=$PATH:/usr/local/rabbitmq/sbin
source /etc/profile
rabbitmq-plugins enable rabbitmq_management
执行之后,如下所示:
rabbitmq-server -detached
或
/usr/local/rabbitmq/sbin/rabbitmq-server -detached
由于RabbitMQ的默认账号是guest,只能本机通过localhost方式访问了,因此接下来我们重新创建一个用户,并设置成为管理员和全部权限。
rabbitmqctl add_user <用户> <密码>
例: rabbitmqctl add_user admin admin
查看是否添加成功:rabbitmqctl list_users
rabbitmqctl set_user_tags <用户名> administrator
rabbitmqctl set_permissions -p / <用户名> ".*" ".*" ".*"
## 服务启动停止: # 服务启动: 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就成功启动了。
访问:IP+15672,如果出现如下图所示:即为安装成功。
参考:RabbitMQ环境部署(Windows、单机、Docker、集群)_rabbitmq windows 部署_用生命研发技术的博客-CSDN博客