一、docker安装
1、进入docker hub镜像
2、搜索rabbitMq镜像
- 进入官方的镜像,可以看到以下几种类型的镜像;我们选择带有“mangement”的版本(包含web管理页面);
3、拉取镜像
# docker pull rabbitmq:3.7.7-management
查看所有镜像
# docker images
4、根据下载的镜像创建和启动容器
# docker run -d --name rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin df80af9ca0c9
说明:
-d 后台运行容器;
--name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v 映射目录或文件;
--hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)
5、 查看正在运行容器
# docker ps -a
6、可以使用浏览器打开web管理端:http://Server-IP:15672
二、yum源安装
1、安装Erlang环境
1、在安装erlang之前先安装下依赖文件(否则后面./configure的时候要报错):
# yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto
2、到erlang官网去下载erlang安装包
官网地址:http://www.erlang.org/downloads
# wget -c http://erlang.org/download/otp_src_20.2.tar.gz
解压:
# tar -zxvf otp_src_20.2.tar.gz
# cd otp_src_20.2/
3、编译安装( 我这里指定编译安装后放在/usr/local/erlang目录里面,这个你们可以改成其他的 )
# ./configure --prefix=/usr/local/erlang
# make && make install
4、测试安装是否成功:
# cd /usr/local/erlang/bin/
# ./erl
若出现以下界面,则说明我们erlang配置OK了
输入 halt(). 退出控制台, 注意,halt后面有个点哈
5、配置环境变量(ps:这个跟java的环境变量配置是差不多的)
# vim /etc/profile
export PATH=$PATH:/usr/local/erlang/bin
# source /etc/profile #更新配置
验证:任意地方输入erl能进入命令行, 那么就说明配置成功了。
2、安装rabbitmq
1、到官网下载最新安装包:http://www.rabbitmq.com/releases/rabbitmq-server/
# cd /usr/local/
# wget -c http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
解压:
# xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz
# tar -xvf rabbitmq-server-generic-unix-3.6.15.tar
2、配置rabbitmq的环境变量(这个跟上面的erlang配置以及java的环境变量差不多)
# vim /etc/profile
export PATH=$PATH:/usr/local/rabbitmq_server-3.6.15/sbin
# source /etc/profile
3、rabbitmq的基本操作:
rabbitmq-server -detached #启动
rabbitmqctl stop #关闭
rabbitmqctl status #状态
4、配置rabbitmq网页管理插件
rabbitmq-plugins enable rabbitmq_management #启用插件
访问管理页面: http://172.18.?.?:15672 端口默认为15672
默认来宾用户:guest, 来宾用户密码:guest
注:登录rabbitmq报错User can only log in via localhost
- rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。
解决:
-
rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。
-
如果想使用guest/guest通过远程机器访问,需要在rabbitmq配置文件中(找到/rabbitmq_server-3.6.15/ebin下面的rabbit.app文件)中设置loopback_users为[]。
-
找到/rabbitmq_server-3.6.15/ebin下面的rabbit.app文件文件完整内容如下(注意后面的半角句号):
找到:loopback_users里的<<”guest”>>删除。
[{rabbit, [{loopback_users, []}]}]. -
重启
5、开启rabbitmq远程访问
添加用户:rabbitmqctl add_user XRom XRom123 //XRom是用户名, XRom123是用户密码
添加权限:rabbitmqctl set_permissions -p “/” XRom “." ".” “.*”
修改用户角色:rabbitmqctl set_user_tags XRom administrator
然后就可以远程访问了,然后可直接配置用户权限等信息
三、rabbitmq常用命令
add_user <UserName> <Password>
delete_user <UserName>
change_password <UserName> <NewPassword>
list_users
add_vhost <VHostPath>
delete_vhost <VHostPath>
list_vhostsset_permissions [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>
clear_permissions [-p <VHostPath>] <UserName>
list_permissions [-p <VHostPath>]
list_user_permissions <UserName>
list_queues [-p <VHostPath>] [<QueueInfoItem> ...]
list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...]
list_bindings [-p <VHostPath>]
list_connections [<ConnectionInfoItem> ...]
参照:https://blog.csdn.net/typ1805/article/details/82744899