RabbitMQ的基本安装
一 docker下安装RabbitMQ
首先使用 docker search rabbitmq命令查找docker仓库是否存在rabbitmq镜像,可以发现docker仓库是存在rabbitmq的
1 [root@admin ~]# docker search rabbitmq
2 NAME DESCRIPTION STARS OFFICIAL AUTOMATED
3 rabbitmq RabbitMQ is an open source multi-protocol me… 2809 [OK]
4 bitnami/rabbitmq Bitnami Docker Image for RabbitMQ 35 [OK]
5 tutum/rabbitmq Base docker image to run a RabbitMQ server 20
6 kbudde/rabbitmq-exporter rabbitmq_exporter for prometheus 12 [OK]
7 frodenas/rabbitmq A Docker Image for RabbitMQ 12 [OK]
8 cyrilix/rabbitmq-mqtt RabbitMQ MQTT Adapter 7 [OK]
9 arm32v7/rabbitmq RabbitMQ is an open source multi-protocol me… 7
10 gonkulatorlabs/rabbitmq DEPRECATED: See maryville/rabbitmq 5 [OK]
11 aweber/rabbitmq-autocluster RabbitMQ with the Autocluster Plugin 4
12 pivotalrabbitmq/rabbitmq-server-buildenv Image used to build and test RabbitMQ server… 3
13 pivotalrabbitmq/rabbitmq-autocluster RabbitMQ with the rabbitmq-autocluster plugi… 3
14 deadtrickster/rabbitmq_prometheus RabbitMQ + Prometheus RabbitMQ Exporter plug… 2
15 henrylv206/rabbitmq-autocluster RabbitMQ Cluster 2 [OK]
16 arm64v8/rabbitmq RabbitMQ is an open source multi-protocol me… 1
17 activatedgeek/rabbitmqadmin A rabbitmqadmin docker image for administrat… 1 [OK]
18 webhostingcoopteam/rabbitmq-conf RabbitMQ Configurator for Rancher 1 [OK]
19 riftbit/rabbitmq RabbitMQ 3.x Container based on Alpine Linux… 1
20 amd64/rabbitmq RabbitMQ is an open source multi-protocol me… 1
21 foxylion/rabbitmq Preconfigured RabbitMQ docker image with sup… 1 [OK]
22 pdffiller/rabbitmq Rabbitmq 3.7.3 with delayed_message plugin,c… 0
23 ekesken/rabbitmq docker image for rabbitmq that is configurab… 0 [OK]
24 i386/rabbitmq RabbitMQ is an open source multi-protocol me… 0
25 s390x/rabbitmq RabbitMQ is an open source multi-protocol me… 0
知识兔选择安装官方的镜像(这里有个坑就是不要直接去下rabbitmq,需要在后面加上:management,如果没有加,docker会自动下rabbitmq:latest 这个版本,latest这个版本没有web管理页面)
1 [root@admin ~]# docker pull rabbitmq:management
知识兔启动RabbitMQ
1 [root@admin ~]# docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
知识兔说明:
-d 后台运行容器;
--name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v 映射目录或文件;
--hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)
最后就可以使用浏览器打开web管理端:http://Server-IP:15672
二 linux下安装RabbitMQ
安装Erlang环境
安装GCC GCC-C++ Openssl等模块,安装过就不需要安装了
1 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
知识兔安装ncurses
1 yum -y install ncurses-devel
知识兔安装erlang环境
1 wget http://erlang.org/download/otp_src_18.2.1.tar.gz
2 tar xvfz otp_src_18.2.1.tar.gz
3 ./configure
4 make install
知识兔安装RabbitMQ
下载rabbitmq-server-3.6.9.tar.xz
1 wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz
知识兔对于下载xz包进行解压,首先先下载xz压缩工具:
1 yum install xz
知识兔对rabbitmq包进行解压:
1 xz -d xz -d rabbitmq-server-generic-unix-3.6.9.tar.xz
2 tar -xvf rabbitmq-server-generic-unix-3.6.9.tar
知识兔随后移动至/usr/local/下 改名rabbitmq:
1 cp -r rabbitmq_server-3.6.9 /usr/local/rabbitmq
知识兔这种下载的方式解压后直接可以使用,无需再编译安装;
进入到rabbit文件内,其命令文件存在于sbin文件夹下,因此需要将sbin文件夹的路径添加到PATH中:
1 vi /etc/profile
知识兔在里面添加
1 export PATH=/usr/local/rabbitmq/sbin:$PATH
知识兔:wq保存退出,然后执行使得PATH路径更新,rabbitMQ安装成功。
1 source /etc/profile
知识兔随后启用MQ管理方式:
1 rabbitmq-plugins enable rabbitmq_management #启动后台管理
2 rabbitmq-server -detached #后台运行rabbitmq
知识兔设置端口号,可供外部访问:
1 iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
2 iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
知识兔添加用户和权限
默认网页guest用户是不允许访问的,需要增加一个用户修改一下权限,代码如下:
添加用户:
1 rabbitmqctl add_user admin admin
知识兔添加权限:
1 rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
知识兔修改用户角色:
1 rabbitmqctl set_user_tags admin administrator
知识兔然后就可以远程访问了,然后可直接配置用户权限等信息。