RabbitMQ系列文章(第二篇):RabbitMQ环境搭建——Windows/Linux/docker全教程(避坑指南)
大家好欢迎来到RabbitMQ系列的第二篇文章上一篇我们搞懂了消息队列的核心价值、主流MQ的对比以及RabbitMQ的优势今天我们正式进入实操环节——环境搭建。环境搭建是所有实操的基础也是新手最容易踩坑的环节比如Erlang版本和RabbitMQ不兼容、Linux防火墙没开放端口、Docker部署后访问不到管理界面等。今天这篇文章我们将分步讲解Windows、LinuxCentOS/Ubuntu、Docker三种部署方式全程标注避坑点无论你用哪种系统都能跟着步骤顺利搭建好RabbitMQ环境为后续的实操学习创建队列、发送消息等做好准备。核心前提RabbitMQ是基于Erlang语言开发的因此无论哪种部署方式都需要先安装Erlang环境Docker部署可省略手动安装镜像已自带且Erlang版本必须与RabbitMQ版本对应这是最关键的避坑点大家一定要注意一、前置准备Erlang与RabbitMQ版本对应关系必看避坑很多新手搭建失败核心原因就是Erlang版本和RabbitMQ版本不匹配导致启动失败。这里给大家推荐一组稳定兼容的版本新手首选无需纠结版本选择也可以根据自己的需求在RabbitMQ官方文档查询对应关系Erlang版本25.3.2稳定版适配绝大多数RabbitMQ版本RabbitMQ版本3.12.10稳定版支持所有核心特性适配Erlang 25.x避坑提示不要安装最新版Erlang和RabbitMQ最新版可能存在兼容性问题也不要随意搭配版本严格按照官方对应关系选择本文全程基于上述推荐版本讲解。官方版本对应查询地址备用https://www.rabbitmq.com/which-erlang.html复制到浏览器可直接访问二、Windows系统部署新手首选操作最简单Windows系统部署无需复杂的命令全程图形化操作适合刚入门的新手步骤如下步骤1安装Erlang环境下载Erlang安装包访问Erlang官方下载地址https://www.erlang.org/downloads选择“OTP 25.3.2 Windows 64-bit”根据自己系统位数选择现在大多是64位点击下载。安装Erlang双击下载的.exe安装包点击“Next”选择安装路径建议默认路径避免中文路径比如C:\Program Files\Erlang OTP一路点击“Next”最后点击“Finish”完成安装。配置Erlang环境变量关键步骤右键“此电脑”→“属性”→“高级系统设置”→“环境变量”。在“系统变量”中点击“新建”变量名填写“ERLANG_HOME”变量值填写Erlang的安装路径比如C:\Program Files\Erlang OTP点击“确定”。找到“系统变量”中的“Path”双击打开点击“新建”输入“%ERLANG_HOME%\bin”点击“确定”保存所有环境变量配置。验证Erlang是否安装成功打开cmd命令提示符输入“erl -version”如果出现Erlang版本信息比如Erlang/OTP 25 [erts-13.2.2.1]说明安装成功如果提示“erl不是内部或外部命令”说明环境变量配置错误重新检查路径。避坑提示安装路径一定不要有中文、空格否则会导致后续RabbitMQ启动失败环境变量配置后需要关闭cmd重新打开才能生效。步骤2安装RabbitMQ下载RabbitMQ安装包访问RabbitMQ官方下载地址https://www.rabbitmq.com/download.html找到“Windows Installer”选择“rabbitmq-server-3.12.10.exe”下载对应我们推荐的版本。安装RabbitMQ双击安装包点击“Next”选择安装路径建议默认路径与Erlang安装路径保持一致的磁盘比如C:\Program Files\RabbitMQ Server一路点击“Next”最后点击“Finish”完成安装。启动RabbitMQ服务方式1图形化启动。打开“服务”WinR输入“services.msc”找到“RabbitMQ”右键“启动”启动成功后状态会显示“正在运行”。方式2命令行启动。打开cmd以管理员身份运行输入命令“rabbitmq-service start”提示“RabbitMQ service started successfully”说明启动成功。验证RabbitMQ是否启动成功打开浏览器输入“http://localhost:15672”如果能看到RabbitMQ管理界面的登录页说明启动成功。避坑提示如果启动失败大概率是Erlang版本不兼容或者安装路径有中文/空格如果启动成功但访问不到管理界面检查RabbitMQ服务是否真的在运行或者端口是否被占用。步骤3配置RabbitMQ管理界面默认已开启无需额外配置RabbitMQ默认自带Web管理界面默认端口是15672默认账号密码都是“guest”仅本地访问可用后续可修改。操作打开浏览器输入“http://localhost:15672”输入账号guest、密码guest点击登录即可进入管理界面后续文章会详细讲解管理界面的使用。三、Linux系统部署CentOS/Ubuntu双版本服务器常用Linux系统是服务器部署的首选这里分别讲解CentOS主流服务器系统和Ubuntu两种版本的部署步骤操作均通过命令行完成新手跟着复制命令即可。一CentOS系统部署步骤1安装Erlang环境安装依赖打开终端输入以下命令安装Erlang所需的依赖包yuminstall-ygcc gcc-c glibc-develmakencurses-devel openssl-devel autoconf2.下载并解压Erlang安装包# 下载Erlang 25.3.2安装包wgethttps://github.com/erlang/otp/releases/download/OTP-25.3.2/otp_src_25.3.2.tar.gz# 解压安装包tar-zxvfotp_src_25.3.2.tar.gz# 进入解压后的目录cdotp_src_25.3.23.编译并安装Erlang# 配置编译参数默认路径安装./configure--prefix/usr/local/erlang --without-javac# 编译耗时较长耐心等待make# 安装makeinstall4.配置Erlang环境变量# 编辑环境变量配置文件vi/etc/profile# 在文件末尾添加以下内容exportERLANG_HOME/usr/local/erlangexportPATH$ERLANG_HOME/bin:$PATH# 使环境变量生效source/etc/profile验证Erlang安装成功输入“erl -version”出现版本信息即成功。步骤2安装RabbitMQ下载RabbitMQ安装包wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.12.10/rabbitmq-server-generic-unix-3.12.10.tar.xz2.解压安装包# 先安装xz解压工具如果没有yuminstall-yxz# 解压xz包xz-drabbitmq-server-generic-unix-3.12.10.tar.xz# 解压tar包tar-xvfrabbitmq-server-generic-unix-3.12.10.tar# 将解压后的目录移动到/usr/local下并重命名为rabbitmqmvrabbitmq_server-3.12.10 /usr/local/rabbitmq3.配置RabbitMQ环境变量# 编辑环境变量配置文件vi/etc/profile# 在文件末尾添加以下内容exportRABBITMQ_HOME/usr/local/rabbitmqexportPATH$RABBITMQ_HOME/sbin:$PATH# 使环境变量生效source/etc/profile4.启动RabbitMQ服务# 启动RabbitMQ后台启动rabbitmq-server-detached# 查看RabbitMQ运行状态rabbitmqctl status5.开启管理界面插件关键步骤否则无法访问Web管理界面rabbitmq-pluginsenablerabbitmq_management6.开放端口关键避坑点RabbitMQ默认使用两个端口15672管理界面和5672消息通信需要开放这两个端口否则外部无法访问# 开放15672和5672端口firewall-cmd --add-port15672/tcp--permanentfirewall-cmd --add-port5672/tcp--permanent# 重新加载防火墙配置firewall-cmd--reload二Ubuntu系统部署Ubuntu系统部署步骤与CentOS类似主要差异在于依赖安装和包管理命令yum替换为apt步骤如下安装依赖sudoaptupdatesudoaptinstall-ygcc gmakencurses-dev openssl libssl-dev autoconf下载并安装Erlang步骤与CentOS一致仅依赖安装命令不同此处省略重复步骤参考CentOS步骤1的2-5步。下载并安装RabbitMQ与CentOS步骤2一致此处省略重复步骤。开放端口Ubuntu防火墙命令不同# 开放15672和5672端口sudoufw allow15672/tcpsudoufw allow5672/tcp# 重启防火墙sudoufw reload避坑提示Linux系统部署时一定要开放端口否则外部比如Windows电脑无法访问RabbitMQ管理界面如果启动失败检查Erlang版本、环境变量配置或者查看日志日志路径/usr/local/rabbitmq/var/log/rabbitmq。四、Docker部署推荐新手最快捷无需手动安装ErlangDocker部署是最简单、最快捷的方式无需手动安装ErlangRabbitMQ镜像已自带兼容的Erlang环境适合所有系统Windows、Linux、Mac前提是你的电脑已安装Docker。步骤1安装Docker新手补充已安装可跳过Docker安装步骤简单这里以Windows和Linux为例简要说明Windows系统下载Docker Desktophttps://www.docker.com/products/docker-desktop双击安装安装完成后启动Docker需开启Hyper-VWindows 10及以上版本支持。Linux系统CentOS/Ubuntu输入以下命令安装DockerCentOSyum install -y dockersystemctl start dockersystemctl enable docker验证Docker是否安装成功输入“docker -v”出现Docker版本信息即成功。步骤2拉取RabbitMQ镜像带管理界面RabbitMQ有两个镜像一个是基础版无管理界面一个是带管理界面版推荐我们拉取带管理界面的镜像输入以下命令# 拉取RabbitMQ 3.12.10版本带管理界面dockerpull rabbitmq:3.12.10-management避坑提示镜像名称一定要加“-management”否则没有Web管理界面如果拉取速度慢可以切换Docker镜像源比如阿里云镜像源。步骤3创建并启动RabbitMQ容器输入以下命令创建并启动RabbitMQ容器一次性配置好端口映射和默认账号密码# 创建并启动容器映射端口15672管理界面和5672消息通信dockerrun-d--namerabbitmq-p15672:15672-p5672:5672-eRABBITMQ_DEFAULT_USERguest-eRABBITMQ_DEFAULT_PASSguest rabbitmq:3.12.10-management命令解释-d后台运行容器–name rabbitmq给容器命名为rabbitmq方便后续管理-p 15672:15672将容器的15672端口映射到宿主机的15672端口管理界面-p 5672:5672将容器的5672端口映射到宿主机的5672端口消息通信-e RABBITMQ_DEFAULT_USERguest设置默认账号为guest-e RABBITMQ_DEFAULT_PASSguest设置默认密码为guest步骤4验证Docker部署是否成功查看容器运行状态输入“docker ps”如果能看到名称为rabbitmq的容器状态为“Up”说明启动成功。访问管理界面打开浏览器输入“http://宿主机IP:15672”Windows宿主机IP为localhostLinux宿主机IP为服务器IP输入账号guest、密码guest能成功登录即部署完成。避坑提示如果Docker容器启动失败输入“docker logs rabbitmq”查看日志大概率是端口被占用比如之前安装过RabbitMQ未停止服务如果访问不到管理界面检查Docker容器是否在运行以及宿主机端口是否开放。五、常见问题排查新手必看避坑汇总结合新手常踩的坑汇总以下常见问题及解决方案遇到问题直接对照排查问题1启动RabbitMQ失败提示“Erlang version not compatible”解决方案Erlang版本与RabbitMQ版本不匹配卸载当前Erlang或RabbitMQ重新安装本文推荐的兼容版本。问题2启动成功但访问不到管理界面http://localhost:15672无法打开解决方案检查RabbitMQ服务是否真的在运行Windows看服务Linux看进程Docker看容器。检查端口是否被占用Windows输入“netstat -ano | findstr 15672”Linux输入“netstat -tuln | grep 15672”如果被占用停止占用端口的进程重新启动RabbitMQ。Linux/Docker部署检查防火墙是否开放15672端口未开放则重新开放。Docker部署检查端口映射是否正确容器是否启动成功。问题3登录管理界面提示“Invalid credentials”账号密码错误解决方案默认账号密码都是guest仅本地访问可用如果是远程访问比如Linux服务器需要创建新的账号并授权后续文章会讲解。问题4Docker容器启动后很快就停止状态为Exited解决方案输入“docker logs rabbitmq”查看日志大概率是端口被占用或者镜像拉取不完整重新拉取镜像释放占用端口后再启动。六、下一篇预告恭喜你今天我们成功搭建了RabbitMQ环境无论是Windows、Linux还是Docker部署只要跟着步骤操作都能顺利完成。环境搭建完成后下一篇文章我们将深入学习RabbitMQ的核心概念——交换机、队列、绑定通过图文实操截图的方式让你彻底搞懂这些核心组件的作用以及它们之间的关系为后续发送、接收消息打下基础。如果这篇实操教程对你有帮助欢迎点赞、收藏如果你在搭建过程中遇到其他问题欢迎在评论区留言我会一一解答后续我们继续吃透RabbitMQ
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2573005.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!