一、环境准备
1、RabbitMQ版本 和 Erlang 版本兼容性关系
https://www.rabbitmq.com/which-erlang.html
2、官方安装包下载地址
【erlang下载地址】:https://packagecloud.io/rabbitmq/erlang
【socat下载地址】:http://www.rpmfind.net/linux/rpm2html/search.php?query=socat%28x86-64%29&submit=Search+...&system=centos&arch=
【rabbitmq下载地址】:https://github.com/rabbitmq/rabbitmq-server/releases
3、安装包中说明,请下载对应的安装包
el6:CentOS 6.x 的下载
el7:CentOS 7.x 的下载
el8:CentOS 8.x 的下载
二、安装操作步骤
1、安装C++依赖环境
******************命令如下******************
yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz
2、准备安装包
erlang-23.3.4.11-1.el7.x86_64.rpm
rabbitmq-server-3.10.0.rc.6-1.el7.noarch.rpm
socat-1.7.3.2-2.el7.x86_64.rpm
3、安装Erlang
[root@vm172-31-0-197 opt]# rpm -ivh erlang-23.3.4.11-1.el7.x86_64.rpm
warning: erlang-23.3.4.11-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:erlang-23.3.4.11-1.el7 ################################# [100%]
4、验证Erlang安装成功
[root@vm172-31-0-197 opt]# erl -v
Erlang/OTP 23 [erts-11.2.2.10] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
Eshell V11.2.2.10 (abort with ^G)
1>
BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo
(l)oaded (v)ersion (k)ill (D)b-tables (d)istribution
5、安装socat
[root@vm172-31-0-197 opt]# rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:socat-1.7.3.2-2.el7 ################################# [100%]
6、安装rabbitMQ
root@vm172-31-0-197 opt]# rpm -ivh rabbitmq-server-3.10.0.rc.6-1.el7.noarch.rpm
warning: rabbitmq-server-3.10.0.rc.6-1.el7.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 6026dfca: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:rabbitmq-server-3.10.0~rc.6-1.el7################################# [100%]
[root@vm172-31-0-197 opt]# rpm -qa|grep rabbitmq
rabbitmq-server-3.10.0~rc.6-1.el7.noarch
7、开启管理界面
rabbitmq-plugins enable rabbitmq_management
8、添加配置文件,解决只能localhost访问的问题
# 进入【/etc/rabbitmq】文件夹下
cd /etc/rabbitmq
# 编辑【rabbitmq.config】文件
vim rabbitmq.config
[root@vm172-31-0-197 rabbitmq]# vim rabbitmq.config
[{rabbit,[{loopback_users,[]}]}].
三、RabbitMQ 更换日志和数据存储目录
创建mnesia和log两个文件夹
mkdir /data/rabbitmq/{mnesia,log}
目录授权
chown -R rabbitmq:rabbitmq /home/rabbitmq
新建rabbitmq-env.conf配置文件
vim /etc/rabbitmq/rabbitmq-env.conf
添加以下配置
RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia
RABBITMQ_LOG_BASE=/data/rabbitmq/log
重启RabbitMQ
1、启动rabbitmq
******************命令如下******************
# 启动rabbitmq命令:
systemctl start rabbitmq-server
# 查看启动状态命令:
systemctl status rabbitmq-server
2、停止rabbitmq
******************命令如下******************
# 停止rabbitmq命令:
systemctl stop rabbitmq-server
# 查看启动状态命令:
systemctl status rabbitmq-server
3、防火墙开放端口
******************命令如下******************
# 开放5672端口命令
/sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
# 开放15672端口命令
/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
云服务器在控制台安全组放开以上端口
主要端口说明
- 4369 – erlang发现口
- 5672 – client端通信口
- 15672 – 管理界面ui端口
- 25672 – server间内部通信口
4、登录管理界面
访问服务器公网ip:15672(注意打开云安全组以及防火墙的15672端口),就可以看到管理界面
默认账号:guest
默认密码:guest
四、添加远程用户
# 添加用户
rabbitmqctl add_user 用户名 密码
# 设置用户角色,分配操作权限
rabbitmqctl set_user_tags 用户名 角色
# 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
角色有四种:
- administrator:可以登录控制台、查看所有信息、并对rabbitmq进行管理
- monToring:监控者;登录控制台,查看所有信息
- policymaker:策略制定者;登录控制台指定策略
- managment:普通管理员;登录控制
其他指令:
# 修改密码
rabbitmqctl change_password 用户名 新密码
# 删除用户
rabbitmqctl delete_user 用户名
# 查看用户清单
rabbitmqctl list_users