RabbitMQ安装及配置超详细(基于CentOS7)
注意:RabbitMQ是由Erlang语言开发,但是Erlang开发环境的安装包是由C语言编写,所以需要提前安装C语言环境
1.安装前环境准备
-
如果之前安装过erlang,先删除
yum remove erlang*
-
安装GCC GCC-C++等模块
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unix0DBC unix0DBC-devel httpd python-simplejson
2.下载erlang和RabbitMQ(我是下载在/usr/local目录下)
-
下载Erlang开发环境的安装包
wget http://erlang.org/download/otp_src_20.1.tar.gz
-
下载rabbitMQ安装包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.0/rabbitmq-server-generic-unix-3.7.0.tar.xz
3.安装erlang
-
解压erlang
tar -zxvf otp_src_20.1.tar.gz
-
创建erlang文件夹
#在usr/local目录下创建erlang文件夹 mkdir /usr/local/erlang
-
进入解压文件夹
cd /usr/local/otp_src_20.1
-
指定安装目录及安装配置(需要安装并配置JDK)
./configure --prefix=/usr/local/erlang --enable-smp-support --enable-threads --enable--sctp --enable-kernel-poll --enable-hipe --with-ssl --without-javac
-
编译和安装
make && make install
-
配置环境变量
vim /etc/profile
将export PATH=$PATH:/usr/local/erlang/bin添加到文件末尾
-
让新增配置生效
source /etc/profile
4.安装RabbitMQ
-
回到/usr/local目录
cd /usr/local
-
解压RabbitMQ安装包
-
由于下载的安装包为xz文件,先将xz文件解压为tar文件
xz -d rabbitmq-server-generic-unix-3.7.0.tar.xz
-
再解压缩tar文件
tar -xvf rabbitmq-server-generic-unix-3.7.0.tar
-
-
启动RabbitMQ
-
进入到RabbitMQ的sbin目录
cd /usr/local/rabbitmq_server-3.7.0/sbin/
-
启动RabbitMq
./rabbitmq-server -detached &
-
查看进程信息(默认端口号为5672)
lsof -i:5672
-
-
启动管理界面
#在此目录:/usr/local/rabbitmq_server-3.7.0/sbin/下执行 ./rabbitmq-plugins enable rabbitmq_management
查看进程信息(默认端口号为15672)
lsof -i:15672
5.关闭防火墙和安全组放行
-
需要放行的端口号 5672和15672
-
关闭防火墙
-
检查防火墙状态
systemctl status firewalld
-
如果状态为开启需要关闭
#暂时关闭(推荐) systemctl stop firewalld #永久关闭 systemctl disable firewalld
-
重新启动防火墙
#暂时关闭后重新启动 systemctl enable firewalld #永久关闭后重新启动(没有尝试过) chkconfig iptables on
-
6.访问测试
-
访问网址 http://公网IP:15672
- 如果出现如下界面则证明安装成功
7.创建用户并授予权限
-
进入到RabbitMQ的sbin目录
cd /usr/local/rabbitmq_server-3.7.0/sbin
-
新增用户
./rabbitmqctl add_user rabbit rabbit
-
用户级别
1.administrator 可以登录控制台、查看所有信息、可以对RabbitMQ进行管理 2.monitoring 监控者登录控制台、查看所有信息 3.policymaker 策略制定者登录控制台、指定策略 4.managment 普通管理员 登录控制台
-
设置用户级别
./rabbitmqctl set_user_tags rabbit administrator