Windows安装RabbitMq
-
由于其基于Erlang语言编写,所以先安装Erlang,下载地址
双击安装,安装路径不要与中文与空格
-
配置环境变量
-
path中添加
-
cmd中测试
-
-
安装RabbitMQ,下载地址
下载后双击安装
-
RabbitMQ Server安装完成之后,会自动注册为服务,并以默认配置进行启动
可能的问题:启动失败,通常是由于用户名为中文,导致默认的db和log目录访问出现问题。解决方法,写在RabbitMQ,配置环境变量RABBITMQ_BASE为一个不含中文的路径,如E:\rabbitmq,然后重新安装
Rabbit管理
-
进入rabbitMQ安装目录下的sbin目录,执行如下命令开启WEB管理插件,
rabbitmq-plugins.bat enable rabbitmq_management
C:\software\RabbitMQ\rabbitmq_server-3.7.18\sbin>rabbitmq-plugins.bat enable rabbitmq_management Enabling plugins on node rabbit@DESKTOP-KJFR0VP: rabbitmq_management The following plugins have been configured: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch Applying plugin configuration to rabbit@DESKTOP-KJFR0VP... The following plugins have been enabled: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch started 3 plugins.
-
打开浏览器并访问
http://localhost:15672
-
默认用户名,密码均是guest
CentOS7安装RabbitMQ单机版(3.8.4)
软件安装方式
同一个软件有很多种不同的安装方式,Linux操作系统中安装软件有几种常见方式: 1、源码编译安装:一般需要解压然后用make 、make install等命令,这种方式步骤比较复杂,编译时间长,而且结果不可控 2、RPM(RedHat Package Manager)是一个软件管理包,安装卸载变得简单了,但是无法解决软件包之间的依赖关系问题 3、YUM(Yellow dog Updater, Modified)是一个RPM的前端程序,可以自动解决软件的依赖关系。但是要注意版本的问题,默认从仓库中获取安装的不一定是最新版本 4、不需要安装只要配置环境变量的
CentOS是RedHat的分支,所以rpm和yum都可以使用。
版本关系
在RabbitMQ中需要注意两点: 1、RabbitMQ依赖于Erlang,需要先安装Erlang 2、Erlang和RabbitMQ版本有对应关系 RabbitMQ Erlang Version Requirements — RabbitMQ
安装Erlang 21.3
先安装一些必要的依赖:
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget
注意:因为每个人的操作系统环境是不一样的,缺少的依赖不同,根据提示安装即可。
https://www.erlang.org/downloads/21.3 如果下载太慢了,可以把地址贴到迅雷里面,下载到本机,再上传到虚拟机
wget http://erlang.org/download/otp_src_21.3.tar.gz tar -xvf otp_src_21.3.tar.gz cd otp_src_21.3 ./configure --prefix=/usr/local/erlang
configure的过程如果有err,要解决依赖的问题。 如果有APPLICATIONS INFORMATION,DOCUMENTATION INFORMATION,没有影响。
make && make install
如果提示缺少socat
yum install -y socat
配置Erlang环境变量
vim /etc/profile
加入一行
export PATH=$PATH:/usr/local/erlang/bin
编译生效
source /etc/profile
验证Erlang是否安装成功
输入erl
,会出现版本信息,即安装成功
安装RabbitMQ 3.8.4
Releases · rabbitmq/rabbitmq-server · GitHub
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.8.4/rabbitmq-server-generic-unix-3.8.4.tar.xz xz -d rabbitmq-server-generic-unix-3.8.4.tar.xz tar -xvf rabbitmq-server-generic-unix-3.8.4.tar
配置RabbitMQ环境变量
假设下载的目录在 /usr/local
vim /etc/profile export PATH=$PATH:/usr/local/rabbitmq_server-3.8.4/sbin source /etc/profile
启动RabbitMQ
# 后台启动rabbitmq服务 rabbitmq-server -detached
或者
rabbitmq-server start
或者
service rabbitmq-server start
启动的常见问题是端口被占用,kill rabbitmq 重启即可
ps -ef | grep rabbit kill -9 进程号 rabbitmq-server start
看到兔子头像就启动成功了
添加其他用户
因为guest用户只能在本机访问,添加一个admin用户,密码也是admin
rabbitmqctl add_user admin admin rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" rabbitmqctl set_user_tags admin administrator
启用管理插件
rabbitmq-plugins enable rabbitmq_management
访问: http://虚拟机IP:15672
Docker安装RabbitMQ集群
1)拉取RabbitMQ镜像(带managment)
docker pull rabbitmq:3.7.17-management
2)创建docker网络(让容器可以和主机通信)
docker network create rabbitmqnet
3)创建三个容器,端口分别是 5673 5674 5675 ,管理端口是 15673 15674 15675
docker run -d \ --name=rabbitmq1 \ -p 5673:5672 \ -p 15673:15672 \ -e RABBITMQ_NODENAME=rabbitmq1 \ -e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \ -h rabbitmq1 \ --net=rabbitmqnet \ rabbitmq:management
docker run -d \ --name=rabbitmq2 \ -p 5674:5672 \ -p 15674:15672 \ -e RABBITMQ_NODENAME=rabbitmq1 \ -e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \ -h rabbitmq2 \ --net=rabbitmqnet \ rabbitmq:management
docker run -d \ --name=rabbitmq3 \ -p 5675:5672 \ -p 15675:15672 \ -e RABBITMQ_NODENAME=rabbitmq1 \ -e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \ -h rabbitmq3 \ --net=rabbitmqnet \ rabbitmq:management
4)后两个节点作为内存节点加入集群
docker exec -it rabbitmq2 /bin/bash rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1 rabbitmqctl start_app
docker exec -it rabbitmq3 /bin/bash rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1 rabbitmqctl start_app
访问:http://192.168.8.146:15673/
guest/guest登录