当前位置:   article > 正文

RabbitMQ安装教程(超详细)

rabbitmq安装

本教程是在centos8下试验的,其实linux系统的都差不多

RabbitMQ官方:Messaging that just works — RabbitMQ

RabbitMQ是开源AMQP实现,服务器端用Erlang语言编写,Python、Ruby、 NET、Java、JMS、c、PHP、action screcrive AMQP (高级消息队列协议)和高级消息队列协议是APP应用层协议的开放标准,是为面向消息的中间件而设计的。

消息中间件主要用于组件之间的解耦,其中消息的发送方不需要知道消息使用者的存在,反之亦然。 AMQP的主要特点是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性和安全性。

一、安装Erlang

1、RabbitMQ是用Erlang语言编写的,所以在安装RabbitMQ之前需要安装Erlang

2、在构建RabbitMQ环境的过程中,RabbitMQ和Erlang的版本要对应关系,官网上可以查看RabbitMQ和Erlang的版本问题:RabbitMQ Erlang Version Requirements — RabbitMQ

3、安装前,先设置Eralng的存储库

(如需安装Erlang编译所依赖的环境请使用:yum install make gcc gcc-c++ build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel)

curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

当出现 The repository is setup! You can now install packages即成功,存储库已设置,可以安装软件包了

4、执行安装Erlang

yum install erlang

5、安装Eralng完后,输入erl -v 查看版本是否安装成功 ,返回如下:

  1. [root@localhost ~]# erl -v
  2. Erlang/OTP 25 [erts-13.1.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
  3. Eshell V13.1.1 (abort with ^G)
  4. 1>

二、安装RabbitMQ

1、设置存储库 (在库中提供脚本安装)

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

出现 The repository is setup! You can now install packages即成功

三、RabbitMQ 和 Erlang 添加yum 存储库

1、为了使用 Yum 存储库,必须在 /etc/yum.repos.d/ 目录下添加一个 .repo 文件(例如 rabbitmq.repo)。文件的内容在发行版之间会略有不同(例如 CentOS Stream 9、CentOS Stream 8 或 OpenSUSE)。

  1. # In /etc/yum.repos.d/rabbitmq.repo
  2. ##
  3. ## Zero dependency Erlang
  4. ##
  5. [rabbitmq_erlang]
  6. name=rabbitmq_erlang
  7. baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch
  8. repo_gpgcheck=1
  9. gpgcheck=1
  10. enabled=1
  11. # PackageCloud's repository key and RabbitMQ package signing key
  12. gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
  13. https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
  14. sslverify=1
  15. sslcacert=/etc/pki/tls/certs/ca-bundle.crt
  16. metadata_expire=300
  17. [rabbitmq_erlang-source]
  18. name=rabbitmq_erlang-source
  19. baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/SRPMS
  20. repo_gpgcheck=1
  21. gpgcheck=0
  22. enabled=1
  23. # PackageCloud's repository key and RabbitMQ package signing key
  24. gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
  25. https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
  26. sslverify=1
  27. sslcacert=/etc/pki/tls/certs/ca-bundle.crt
  28. metadata_expire=300
  29. ##
  30. ## RabbitMQ server
  31. ##
  32. [rabbitmq_server]
  33. name=rabbitmq_server
  34. baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/$basearch
  35. repo_gpgcheck=1
  36. gpgcheck=0
  37. enabled=1
  38. # PackageCloud's repository key and RabbitMQ package signing key
  39. gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
  40. https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
  41. sslverify=1
  42. sslcacert=/etc/pki/tls/certs/ca-bundle.crt
  43. metadata_expire=300
  44. [rabbitmq_server-source]
  45. name=rabbitmq_server-source
  46. baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/SRPMS
  47. repo_gpgcheck=1
  48. gpgcheck=0
  49. enabled=1
  50. gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
  51. sslverify=1
  52. sslcacert=/etc/pki/tls/certs/ca-bundle.crt
  53. metadata_expire=300

2、更新软件包数据

  1. # yum update -y
  2. yum -q makecache -y --disablerepo='*' --enablerepo='rabbitmq_erlang' --enablerepo='rabbitmq_server'

3、安装logrotate 依赖

yum install socat logrotate -y

4、最后安装 Eralng 和 RabbitMQ

yum install --repo rabbitmq_erlang --repo rabbitmq_server erlang rabbitmq-server -y

四、开启Rabbitmq-server 服务

1、启用RabbitMQ

systemctl enable rabbitmq-server

2、开启Rabbitmq-server 服务

systemctl start rabbitmq-server

 3、查看MQ进程

ps -ef | grep rabbitmq

4、查看mq占用的端口

  1. lsof -i | grep rabbit
  2. # 或者
  3. netstat -tunlp | grep rabbitmq

五、网页管理控制台

1、启动应用

rabbitmq-plugins enable rabbitmq_management

默认账号 : guest,默认密码:guest

输入 http:{ip}:15672 访问(15672 是访问网页控制台)

当不能访问的时候,查看下防火墙是否开启、是否开放端口

 2、当登录的时候出现 User can only log in via localhost ,在服务端上,需要添加一个admin账号

 

  1. #第一步:添加 admin 用户并设置密码
  2. rabbitmqctl add_user admin 123456
  3. #第二步:添加 admin 用户为administrator角色
  4. rabbitmqctl set_user_tags admin administrator
  5. #第三步:设置 admin 用户的权限,指定允许访问的vhost以及write/read
  6. rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
  7. #第四步:查看vhost(/)允许哪些用户访问
  8. rabbitmqctl list_permissions -p /
  9. #第五步:查看用户列表
  10. rabbitmqctl list_users

 就可以远程访问网页控制台了

 六、使用composer安装php-amqpblib扩展

以php语言为例子

1、使用composer安装php-amqpblib扩展

composer require php-amqplib/php-amqplib=^3.0

2、在composer.json文件中添加

"php-amqplib/php-amqplib": "^3.0"

到此,安装完成!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/323561
推荐阅读
相关标签
  

闽ICP备14008679号