安装环境:
VMware 16 pro虚拟机
[root@tim_liunx ~]# uname -a
Linux tim_liunx 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
安装包准备:
进入rabbitmq官方可见当前最新版本为3.10.7,且该版本依赖Erlang/OTP 24.2或当前最新的Erlang 25,centos 系统的安装,官方提供了2种方式,一种是通过yum安装,一步到位,无需处理依赖关系,也是官方推荐的安装方式,奈何centos7 系统未提供yum源.第二种是手动安装,下载rpm安装包并自行安装依赖.这里我选择了第二种安装方式,根据官方提示进入到安装包下载页面. 选择图示优先级1 的安装包,点击进入后发现,对centos支持的版本已经是8.x以上了,其实开始我是没注意到,也下载了安装了,后面安装遇到版本依赖的问题,又回头下载了优先级2的安装包[避坑],即通用的UNIX系安装包(Generic UNIX Build).链接直达:https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.7/rabbitmq-server-generic-unix-3.10.7.tar.xz
如果安装其他版本的rabbitmq,其与erlang的版本依赖关系可以参考:https://www.rabbitmq.com/which-erlang.html
erlang安装包,进入官网下载,链接直达:https://github.com/erlang/otp/releases/download/OTP-25.0.4/otp_src_25.0.4.tar.gz
安装命令及详细注释
#源码安装erlang --------------------------------
# 1、 将下载的源码上传到服务器 /home/software/otp_src_25.0.4.tar.gz
# 2、 进入目录,解压
tar -zxvf otp_src_25.0.4.tar.gz
# 3、 编译环境 gcc
yum install make gcc gcc-c++ build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel
# 4、创建存放erlang环境的文件夹
mkdir /opt/rabbitMq/erlang
# 5、进入 otp_src_25.0.4,prefix 指定安装目录, 执行: 通常我们自行安装的软件都放在 /opt 目录下面
./configure --prefix=/opt/rabbitMq/erlang --without-javac
# 6、 安装 erlang (在源码目录:otp_src_25.0.4)编译 & 安装:
make && make install # && : 前面的命令执行成功后面的命令才会执行
# 7、 查看erlang的版本,注意这里提示的erlang的版本,不是OTP的版(25),OTP是包装在ERlang中的一组库程序.
erl -version
Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 13.0.3 #安装成功了
#安装rabbitmq的另一个依赖
yum install -y socat #安装依赖插件
# 这里是一个坑,下载安装包的时候未留意该安装包的适应环境 el8 表示 centos8.X以上,不支持centos7,所以安装的时候总是提示erlang版本不对!!
rpm -ivh rabbitmq-server-3.10.7-1.el8.noarch.rpm
警告:rabbitmq-server-3.10.7-1.el8.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 6026dfca: NOKEY
错误:依赖检测失败:
erlang >= 23.2 被 rabbitmq-server-3.10.7-1.el8.noarch 需要
# 使用UNIX通用安装包安装,进入安装文件所在位置
xz -d rabbitmq-server-generic-unix-3.10.7.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.10.7.tar
将解压出来的目录移到:/opt/rabbitmq/3.10.7
#设置环境变量,/etc/profile
添加环境变量PATH.
这里也是一个坑,我在主机中编辑/etc/profile,通过ftp上传linux的etc/profile并提示覆盖成功,但是,系统的环境变量始终不生效,echo $PAHT 发现,erlang及rabbitmq的路径未正常加入到环境变量. 后面通过vim命令,直接编辑后才设置成功.在/etc/profile末尾新增以下代码:
############设置环境变量
#set erlang environment
export ERLANG_HOME=/opt/rabbitMq/erlang
#set rabbitMq environment
export RABBIT_HOME=/opt/rabbitMq/3.10.7
#export PATH=${RABBIT_HOME}/sbin:$PATH
PATH=${ERLANG_HOME}/bin:${RABBIT_HOME}/sbin:$PATH
############设置环境变量
#刷新配置文件
source /etc/profile
echo $PATH 查看是否成功添加环境变量
进入rabbitmq安装目录的sbin中,输入 rabbitmqctl并回车,可以看到命令的使用方法.
rabbitmqctl add_user admin admin 新增用户admin,密码 admin
rabbitmqctl set_user_tags admin administrator 设置admin为administrator角色
netstat -nptl 查看所有端口信息(未开启浏览器访问时,端口15672未启用)
lsof -i:25672
rabbitmq-plugins enable rabbitmq_management 开启插件,包括开启浏览器的访问
netstat -nptl 查看所有端口信息(开启浏览器访问时,端口15672已启用)
主机中通过浏览器访问:
一定要关闭防火墙:systemctl stop firewalld (d结尾,守护进程)
http://192.168.27.200:15672/#/ admin admin 登录
虚拟机环境下,需要将它设置为静态IP防止DHCP自动分配的IP频繁变更,设置静态IP的方法可以参考文章:【linux】VMware 网络配置图文介绍及linux虚拟机静态IP设置