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
然后就可以远程访问了,然后可直接配置用户权限等信息。