本文实例环境及版本Win10、Centos7.4、RabbitMQ3.8.16/RabbitMQ3.8.13、Erlang23.3
一、windows下的安装
1、由于RabbitMQ是使用Erlang语言编写,所以安装之前需要先安装相应的环境。
下载Erlang程序OTP
下载地址:https://www.erlang.org/downloads 下载速度比较慢,需要耐心等待。
此处以24.0版本为例,下载后一路默认安装即可。默认安装路径:C:\Program Files\erl-24.0\bin
在path中添加环境变量,添加上安装目录。在cmd中执行erl如果正常则显示版本号
2、RabbitMQ服务端安装
下载地址:http://www.rabbitmq.com/#getstarted
下载完成后点击安装即可。默认安装目录 C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.16\sbin
此处以3.8.16为例,如果是安装的老版本3.8以前的版本需要手动启动服务。
需要CMD中切换到安装目录,手动运行
rabbitmq‐service install
rabbitmq‐service enable
rabbitmq‐service start
//让RabbitMQ服务端常驻系统中并运行。
操作后可在服务里看到
但最新版本的无需以上操作,安装后就可看到RabbitMQ的服务。
在path中配置环境变量:C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.16\sbin (安装目录)
cmd运行
rabbitmqctl status 可查看RabbitMQ的相关信息
如果需要开启web管理页面需要执行如下命令
rabbitmq-plugins.bat enable rabbitmq_management //开启RabbitMQ的各类插件
开启后即可通过 http://localhost:15672/ 来访问。默认用户名密码都是 guest
相关操作可通过web页面也可以通过命令
//创建用户admin密码为123456 rabbitmqctl add_user admin 123456 //赋予admin读写所有消息队列的权限 rabbitmqctl set_permissions admin ".*" ".*" ".*" //分配用户到组 rabbitmqctl set_user_tags admin administrator //修改admin密码为123 rabbitmqctl change_password admin 123 //删除用户 admin rabbitmqctl delete_user thful //开启MQ的各类插件 rabbitmq‐plugins enable rabbitmq_management
多说几句,3.7版本中还需要不少配置和操作才可以,新版本简化了很多。
以下总结一些3.7版本在windows中的常见问题,不使用该版本的可以忽略
a、在cmd中执行rabbitmqctl status 如果没有显示Status of node rabbit@计算机名或各种版本号信息,就代表Erlang读取Cookie失败。
需要去C:\Windows\System32\config\systemprofile\.erlang.cookie 下把该文件(.erlang.cookie)覆盖掉 c:\users\[用户名]目录下的该文件。
b、开启管理页面后无法访问
打开sbin目录,双击rabbitmq-server.bat 等待几秒后再访问http://localhost:15672
二、在Centos下使用Docker安装RabbitMQ
1、安装并启动Docker
关于Docker的相关操作及使用此处不做赘述,网上有很多文章。我以前的文章也有介绍 .NetCore项目在Liunx中使用Docker容器托管详解
2、可以去https://hub.docker.com/_/rabbitmq/?tab=tags&page=1&ordering=last_updated
看下关于rabbitmq的镜像。可选择想要安装的镜像及版本,文件大小大概70-100M左右。此处安装 rabbitmq 3.8.13带management管理界面的版本
复制右侧的命令,执行
docker pull rabbitmq:3.8.13-management
需要一些时间安装,安装后运行
docker images //查看拉取到的镜像
通过镜像创建容器
docker run -d --name rabbitmqTest -p 5672:5672 -p 15672:15672 8e1932399ce8 //根据ID为8e1932399ce8的镜像创建一个名为rabbitmqTest的容器。暴露15672和5672端口 注意此处需开启15672和5672端口 firewall-cmd --zone=public --add-port=15672/tcp --permanent //打开15672端口 firewall-cmd --reload //重启防火墙 firewall-cmd --zone=public --list-ports //查看所开放的端口号
sudo docker ps -a //查看运行着的容器
此时可通过 http://localhost:15672 访问,如果访问不了则需要启动管理插件。如果是在虚拟机中安装的,那主机的防火墙也要关闭。
docker exec -it rabbitmqTest rabbitmq-plugins enable rabbitmq_management
启动后即可通过服务器IP地址或在本地方访问管理页面了。不想使用时直接停掉/删除这个容器即可。
Docker相关操作命令
//停掉一个容器 docker stop df7926f88409 //容器ID //启动一个停止的容器 docker start df7926f88409 //容器ID //删除一个容器(删除之前要先停掉) docker rm df7926f88409 //容器ID //重启一个容器 docker rabbitmqTest //容器名称 //删除所有容器 docker rm $(sudo docker ps -a -q) //删除一个镜像 docker image rm 8e19 #image id
三、不使用Docker手动安装RabbitMQ
因为Rabbitmq基于erlang语言开发,所以需要erlang支持
1、erlang 下载安装
地址:http://erlang.org/download/
下载之前最好看下这是erlang与rabbitmq的版本对照关系,注意查看Rabbitmq支持的最小和最大erlang的版本。地址:https://www.rabbitmq.com/which-erlang.htm
可以手动下载安装包也可以使用wget命令下载。建议手动下载再传至服务器上安装。
wget http://erlang.org/download/otp_src_23.3.tar.gz
下载速度非常慢,需要慢慢等待下载或者去网上查找下是否有别人分享的。
安装编辑工具
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
#解压文件 tar xvf otp_src_23.3.tar.gz #转到解压目录 cd otp_src_23.3 #配置 ‘--prefix‘指定的安装目录 ./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac #安装 make && make install
配置erlang环境变量
vim /etc/profile #在文件末尾添加下面代码 ‘ERLANG_HOME‘等于上一步‘--prefix‘指定的目录 ERLANG_HOME=/usr/local/erlang PATH=$ERLANG_HOME/bin:$PATH export ERLANG_HOME export PATH #输入Shift+: 输入wq保存并退出 #使环境变量生效 source /etc/profile #输入命令检验是否安装成功 erl
如果要卸载erlang
yum list | grep erlang yum -y remove erlang-* yum remove erlang.x86_64 rm -rf /usr/lib64/erlang
2、RabbitMQ下载安装
下载地址:https://www.rabbitmq.com/changelog.html
国内加速下载地址:https://www.newbe.pro/Mirrors/Mirrors-RabbitMQ/
下载后传至服务器上,记得开启15672和5672端口,注意主机防火墙是否开启
#解压rabbitmq,官方给的包是xz压缩包,所以需要使用xz命令 xz -d rabbitmq-server-generic-unix-3.8.13.tar.xz #xz解压后得到.tar包,再用tar命令解压 tar -xvf rabbitmq-server-generic-unix-3.8.13.tar #移动目录 看个人喜好 cp -rf ./rabbitmq_server-3.8.13 /usr/local/ #切换目录 cd /usr/local/ #修改文件夹名 mv rabbitmq_server-3.8.13 rabbitmq-3.8.13 #开启管理页面插件 cd ./rabbitmq-3.6.1/sbin/ ./rabbitmq-plugins enable rabbitmq_management
启动RabbitMQ
#启动命令,该命令ctrl+c后会关闭服务 ./rabbitmq-server #在后台启动Rabbit ./rabbitmq-server -detached #关闭服务 ./rabbitmqctl stop #关闭服务(kill) 找到rabbitmq服务的pid [不推荐] ps -ef|grep rabbitmq kill -9 ****
添加管理员账号
#进入RabbitMQ安装目录 cd /usr/local/rabbitmq-3.6.1/sbin #添加用户 admin #rabbitmqctl add_user Username Password ./rabbitmqctl add_user admin 123456 #分配用户标签 #rabbitmqctl set_user_tags User Tag #[administrator]:管理员标签 ./rabbitmqctl set_user_tags admin administrator
如果要删除RabbitMQ
rabbitmqctl app_stop yum list | grep rabbitmq yum -y remove rabbitmq-server.noarch
浏览器输入地址:http://服务器IP地址:15672/ 访问即可。
才疏学浅,相关文档等仅供自我总结,如有相关问题可留言交流谢谢。