LInux上rabbitmq安装教程及遇到的坑

LInux上rabbitmq安装教程及遇到的坑

本机环境centos7
初次接触rabbitmq和服务器环境的安装及环境部署。最开始选择网上的yum安装方式,当我安装完成启动rabbitmq时启动不了。后经过排查,和网上查询资料得知。rabbitmq依赖于Erlang。当我yum install erlang时默认给我下载了最新版本的Erlang 22 而我的rabbitmq是v3.6.6。导致版本不对应。
这里附加一张Erlang和rabbitmq版本对应表。可能对应的版本会比较老,但相对比较稳定。
LInux上rabbitmq安装教程及遇到的坑
LInux上rabbitmq安装教程及遇到的坑
随后我卸载重装。
rabbitmq是运行在erlang环境下的,所以卸载时应将erlang卸载。
1、卸载rabbitmq相关
卸载前先停掉rabbitmq服务,执行命令
$ service rabbitmq-server stop
查看rabbitmq安装的相关列表
$ yum list | grep rabbitmq
卸载rabbitmq已安装的相关内容
$ yum -y remove rabbitmq-server.noarch
2、卸载erlang
查看erlang安装的相关列表
$ yum list | grep erlang
卸载erlang已安装的相关内容
$ yum -y remove erlang-*
$ yum remove erlang.x86_64
卸载完之后就可以重新安装了。我选择的是源码安装,otp_src_20.1.tar.gz和rabbitmq-server-generic-unix-3.7.8.tar
网盘链接链接:https://pan.baidu.com/s/1yH-Ih4PDm6_4PrtGh68IcQ
提取码:g3o5 。
重新安装
安装 lrzsz(XShell上传下载命令)
[[email protected] local]# yum -y install lrzsz
上传
[[email protected] local]# rz -y
解压
[[email protected] local]# tar -xvf otp_src_20.1.tar.gz
改名
[[email protected] local]# mv otp_src_20.1 ./erlang
进入目录
[[email protected] local]# cd erlang/
编译
[[email protected] erlang]# ./configure --prefix=/usr/local/erlang --without-javac
编译安装
[[email protected] erlang]# make && make install
添加环境变量
[[email protected] erlang]# set erlang enviorment
[[email protected] erlang]# export PATH=$PATH:/user/local/erlang/bin
创建软链
[[email protected] erlang]# ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl
检查是否安装成功
[[email protected] erlang]# erl
退出
1> halt().

3、安装rabbitmq

安装xz压缩工具
[[email protected] local]# yum install xz

解压
[[email protected] local]# xz -d rabbitmq-server-generic-unix-3.7.8.tar.xz
[[email protected] local]# tar -xvf rabbitmq-server-generic-unix-3.7.8.tar

重命名
[[email protected] local]# mv rabbitmq_server-3.7.8 rabbitmq

配置环境变量
[[email protected] local]# vi /etc/profile
export PATH=/usr/local/rabbitmq/sbin:$PATH

刷新环境变量
[[email protected] local]# source /etc/profile
查看当前所有用户
$ sudo rabbitmqctl list_users

添加新用户(guest只能再本地登录)
$ sudo rabbitmqctl add_user username password

设置用户tag
$ sudo rabbitmqctl set_user_tags username administrator

赋予用户默认vhost的全部操作权限
sudo rabbitmqctl set_permissions -p / username “." ".” “.*”

查看用户的权限
sudo rabbitmqctl list_user_permissions username

启用后台管理
[[email protected] local]# rabbitmq-plugins enable rabbitmq_management
注意:我启动rabbitMq时,出现{“init terminating in do_boot”,{error,{missing_dependencies,[crypto,ssl]
我是参考https://blog.csdn.net/qq_35946990/article/details/78967660和https://blog.csdn.net/weixin_42297483/article/details/82256461进行解决。
运行rabbitmq
[[email protected] local]# rabbitmq-server
查看防火墙状态
[[email protected] ~]# firewall-cmd --state
停止防火墙
[[email protected] ~]# systemctl stop firewalld.service
禁止firewall开机启动
[[email protected] ~]# systemctl disable firewalld.service

浏览器访问
http://IP:15672/
如果访问不成功,请查看防火墙是否关闭。之前博主一直按照完成确定rabbitmq已成功启动之后死活访问不了管理页面。后发现
执行systemctl disable firewalld(永久关闭防火墙)没作用。执行systemctl stop firewalld(暂时关闭防火墙)之后成功网问页面。

代码新人,个人解决方案。不喜勿喷。