Centos7部署中间件RabbitMQ

张开发
2026/4/20 2:54:21 15 分钟阅读

分享文章

Centos7部署中间件RabbitMQ
一、中间件介绍① RabbitMQ的作用异步消息传递生产者将消息发送到 RabbitMQ消费者从队列中取出消息处理。这样生产者和消费者可以独立工作不会相互阻塞。解耦应用程序它帮助不同服务之间通过消息进行通信避免它们之间的直接依赖提升系统的灵活性和扩展性。负载均衡RabbitMQ 可以将消息分发到多个消费者均衡处理负载避免单个消费者过载。可靠性支持消息持久化和确认机制确保消息不会丢失。② 常见应用场景异步任务处理例如后台处理用户上传的文件。微服务通信不同微服务间通过消息队列进行消息交换。流量削峰应对突发高并发请求时通过队列存储消息逐步处理。二、安装一rpm安装Erlang①复制安装脚本执行curl-shttps://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh|sudobash②安装sudoyuminstallerlang-23.3.4.11-1.el7.x86_64#版本23.3.4.11③经过这2个步骤Erlang就安装好了非常快速方便安装完成后可以输入命令验证是否安装成功erl-v④ 检查是否能正常执行,能查看到版本信息则说明安装成功在输入halt().即可退出。[rootVM-20-14-centos src]# erl -vErlang/OTP23[erts-11.2.2.10][source][64-bit][smp:2:2][ds:2:2:10][async-threads:1][hipe]Eshell V11.2.2.10(abort with ^G)1Erlang/OTP 23表示你安装的是 Erlang 23 版本。erts-11.2.2.10表示 Erlang 运行时系统ERTS的版本。64-bit说明你正在使用的是 64 位版本。smp:2:2表示 Erlang 在使用 2 个处理器核心进行并行处理。async-threads:1表示你启用了异步线程。hipe表示启用了高效的本地代码生成。⑤执行代码验证1io:format(Hello, Erlang!~n).1io:format(Hello, Erlang!~n). Hello, Erlang!ok二rpm安装RabbitMQ在packagecloud上找到自己需要的RabbitMQ的版本和安装erlang一样的步骤安装即可。①复制安装脚本执行curl-shttps://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh|sudobash②安装sudoyuminstallrabbitmq-server-3.10.0-1.el7.noarch③启动RabbitMQrabbitmq-server start④开启web管理功能rabbitmq-pluginsenablerabbitmq_management⑤设置开机自启chkconfigrabbitmq-server on⑥查看端口占用[rootVM-20-14-centos ~]# netstat -ntlpActive Internet connections(only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp000.0.0.0:256720.0.0.0:* LISTEN8758/beam.smp tcp00127.0.0.1:63790.0.0.0:* LISTEN26277/./redis-serve tcp000.0.0.0:800.0.0.0:* LISTEN11261/docker-proxy tcp000.0.0.0:43690.0.0.0:* LISTEN8790/epmd tcp000.0.0.0:210.0.0.0:* LISTEN30082/pure-ftpd(SE tcp000.0.0.0:220.0.0.0:* LISTEN1351/sshd tcp000.0.0.0:156720.0.0.0:* LISTEN8758/beam.smp tcp00127.0.0.1:250.0.0.0:* LISTEN1302/master tcp600:::5672 :::* LISTEN8758/beam.smp tcp600::1:6379 :::* LISTEN26277/./redis-serve tcp600:::80 :::* LISTEN11267/docker-proxy tcp600:::4369 :::* LISTEN8790/epmd tcp600:::21 :::* LISTEN30082/pure-ftpd(SE tcp600:::22 :::* LISTEN1351/sshd tcp600::1:25 :::* LISTEN1302/master看到1567225672两个端口已经开启同时云服务器防火墙放行1567225672端口⑦查看进程ps-ef|greprabbitmq root87431015:38 ? 00:00:00 /sbin/runuser-urabbitmq -- /usr/lib/rabbitmq/bin/rabbitmq-server start rabbitmq87518743015:38 ? 00:00:00 /bin/sh /usr/lib/rabbitmq/bin/rabbitmq-server start rabbitmq87588751015:38 ? 00:00:14 /usr/lib64/erlang/erts-11.2.2.10/bin/beam.smp-Ww-MBasageffcbf-MHasageffcbf-MBlmbcs512-MHlmbcs512-MMmcs30-P1048576-t5000000-stbtdb-zdbbl128000-sbwtnone-sbwtdcpunone-sbwtdionone-Bi ---root/usr/lib64/erlang-prognameerl ---home/var/lib/rabbitmq ---pa-noshell-noinput-srabbit boot-bootstart_sasl-sysloglogger[]-syslogsyslog_error_loggerfalse-kernelprevent_overlapping_partitionsfalsestart rabbitmq87658758015:38 ? 00:00:00 erl_child_setup100001rabbitmq87901015:38 ? 00:00:00 /usr/lib64/erlang/erts-11.2.2.10/bin/epmd-daemonrabbitmq88138765015:38 ? 00:00:00 inet_gethost4rabbitmq88148813015:38 ? 00:00:00 inet_gethost4root300739258017:46 pts/1 00:00:00grep--colorauto rabbitmq⑧浏览器访问前端管理页面浏览器访问IP端口号服务器IP:15672成功打开管理页面三、添加rabbitmq用户①设置用户名和密码rabbitmqctl add_usertesttest123#用户名为test 密码为test123②设置用户权限rabbitmqctl set_user_tagstestadministrator#管理员权限③查看用户列表rabbitmqctl list_users[rootVM-20-14-centos ~]# rabbitmqctl list_usersListingusers... user tagstest[administrator]guest[administrator]显示已经成功添加用户 hyz四、登录在管理页面输入新建的用户名和密码进行登录成功进入到管理页面五、软件版本说明①版本依赖由于RabbitMQ是由erlang语言开发的所以需要安装erlang环境各个版本的RabbitMQ对erlang也有版本要求在选择RabbitMQ版本的时候需要安装对应版本的Erlang环境。下表为最新的RabbitMQ版本对Erlang的版本支持表更多详细版本对照表请看此链接RabbitMQ与erlang版本对照表②软件包说明RabbitMQ官方镜像链接rabbitmq/rabbitmq-server - Packages · packagecloudErlang官方镜像链接rabbitmq/erlang - Packages · packagecloudEL是Red Hat E nterprise L inuxEL的缩写。el6 是Red Hat 6.x、CentOS 6.x 的缩写el7 是Red Hat 7.x、CentOS 7.x 的缩写el8 是Red Hat 8.x、CentOS 8.x 的缩写noarch是no architecture的缩写,在计算机领域表示就是和架构无关也就是说和部署的机器的cpu架构无关说明这个包可以在各个不同的cpuintel,amd各代cpu上使用。rprise L inuxEL的缩写。el6 是Red Hat 6.x、CentOS 6.x 的缩写el7 是Red Hat 7.x、CentOS 7.x 的缩写el8 是Red Hat 8.x、CentOS 8.x 的缩写noarch是no architecture的缩写,在计算机领域表示就是和架构无关也就是说和部署的机器的cpu架构无关说明这个包可以在各个不同的cpuintel,amd各代cpu上使用。

更多文章