1、安装Erlang:
由于RabbitMQ依赖Erlang, 所以需要先安装Erlang。
下载最新的erlang安装包:
mkdir /opt/download
cd /opt/download
wget http://erlang.org/download/otp_src_21.3.tar.gz
解压:
cd /opt/download
tar -xzvf otp_src_21.3.tar.gz
# 移动解压包至/opt/rabbitmq/
mkdir /opt/rabbitmq/
mv ./otp_src_21.3 /opt/rabbitmq/
cd /opt/rabbitmq/otp_src_21.3
erlang在安装前需要先安装下它的依赖工具:
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel
然后进入解压文件对erlang进行安装环境的配置:
# 自定义安装路径/opt/rabbitmq/erlang
./configure --prefix=/opt/rabbitmq/erlang --without-javac
然后进行编译make:
make
然后安装 make install:
make install
配置环境变量:
vi /etc/profile
# 添加内容
export PATH=$PATH:/opt/rabbitmq/erlang/bin
# 保存退出,使其生效
source /etc/profile
验证erlang是否安装成功:
cd /opt/rabbitmq/erlang
./bin/erl
RabbitMQ与Erlang版本对照:
安装RabbitMQ
$ cd /opt/rabbitmq
# RabbitMQ下载地址:https://github.com/rabbitmq/rabbitmq-server/releases 或https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/noarch/
$ sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
$ wget https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/noarch/rabbitmq-server-3.7.14-1.el7.noarch.rpm # 下载RabbitMQ安装包
$ sudo yum install rabbitmq-server-3.7.14-1.el7.noarch.rpm
# 运气好的话,执行顺畅;运气不好的话,请执行:
rpm -i --nodeps rabbitmq-server-3.7.14-1.el7.noarch.rpm
配置RabbitMQ
cd /etc/rabbitmq
touch rabbitmq-env.conf
vi rabbitmq-env.conf
# 内容如下
RABBITMQ_MNESIA_BASE=/opt/rabbitmq/rabbitmq-server/data
RABBITMQ_LOG_BASE=/opt/rabbitmq/rabbitmq-server/log
# 保存退出
# 文件夹授权
chmod -R 777 /opt/rabbitmq
# rabbitmq.config配置文件的样本在/usr/share/doc/rabbitmq-server/ 或者
# /usr/share/doc/rabbitmq-server-xxx/里找到,就是rabbitmq.config.example的文件,
# 去掉.example即可使用,RabbitMQ平时使用默认配置即可,
# 此处修改下hipe_compile的属性为true就算完事!
vi /etc/rabbitmq/rabbitmq.config
# 设置hipe_compile的属性为true,注意逗号","取消;
{hipe_compile,true}
安装RabbitMQ服务
cd /opt/rabbitmq
rabbitmq-server install
# 因第一次安装时很顺利,此图是第一次安装的图 版本是3.6.15
或 (第二次安装,出现错误!!!)
启动/关闭
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
# 设置开机启动
chkconfig rabbitmq-server on
启动报错:
解决方法:
cd /usr/lib/rabbitmq/bin/
vi rabbitmq-server
# 第80行左右添加内容:
ERLANG_HOME=/opt/rabbitmq/erlang
PATH=$PATH:${ERLANG_HOME}/bin
# 保存退出;
基本操作
$ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务
$ sudo /sbin/service rabbitmq-server start # 启动服务
$ sudo /sbin/service rabbitmq-server status # 查看服务状态
$ sudo /sbin/service rabbitmq-server stop # 停止服务
# 查看当前所有用户
$ sudo rabbitmqctl list_users
# 查看默认guest用户的权限
$ sudo rabbitmqctl list_user_permissions guest
# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
$ sudo rabbitmqctl delete_user guest
# 添加新用户
$ sudo rabbitmqctl add_user username password
# 设置用户tag
$ sudo rabbitmqctl set_user_tags username administrator
# 赋予用户默认vhost的全部操作权限
$ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
查看当前用户 >>> 报错:
vi /usr/lib/rabbitmq/bin/rabbitmq-env
开启WEB管理接口
如果只从命令行操作RabbitMQ,多少有点不方便。幸好RabbitMQ自带了web管理界面,只需要启动插件便可以使用。
$ sudo rabbitmq-plugins enable rabbitmq_management
$ sudo service rabbitmq-server restart
端口开放
# 防火墙开放15672端口
firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp
systemctl restart firewalld.service
开启用户远程访问
vi /etc/rabbitmq/rabbitmq.config
配置访问账号密码和权限:
# 添加用户,后面两个参数分别是用户名和密码
rabbitmqctl add_user rabbitmq rabbitmq
# 添加权限
rabbitmqctl set_permissions -p / rabbitmq ".*" ".*" ".*"
# 修改用户角色
rabbitmqctl set_user_tags rabbitmq administrator