本教程是在centos8下试验的,其实linux系统的都差不多
RabbitMQ官方:Messaging that just works — RabbitMQ
RabbitMQ是开源AMQP实现,服务器端用Erlang语言编写,Python、Ruby、 NET、Java、JMS、c、PHP、action screcrive AMQP (高级消息队列协议)和高级消息队列协议是APP应用层协议的开放标准,是为面向消息的中间件而设计的。
消息中间件主要用于组件之间的解耦,其中消息的发送方不需要知道消息使用者的存在,反之亦然。 AMQP的主要特点是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性和安全性。
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 查看版本是否安装成功 ,返回如下:
[root@localhost ~]# erl -v Erlang/OTP 25 [erts-13.1.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns] Eshell V13.1.1 (abort with ^G) 1>
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即成功
1、为了使用 Yum 存储库,必须在 /etc/yum.repos.d/ 目录下添加一个 .repo 文件(例如 rabbitmq.repo)。文件的内容在发行版之间会略有不同(例如 CentOS Stream 9、CentOS Stream 8 或 OpenSUSE)。
# In /etc/yum.repos.d/rabbitmq.repo ## ## Zero dependency Erlang ## [rabbitmq_erlang] name=rabbitmq_erlang baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch repo_gpgcheck=1 gpgcheck=1 enabled=1 # PackageCloud's repository key and RabbitMQ package signing key gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [rabbitmq_erlang-source] name=rabbitmq_erlang-source baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 # PackageCloud's repository key and RabbitMQ package signing key gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 ## ## RabbitMQ server ## [rabbitmq_server] name=rabbitmq_server baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 # PackageCloud's repository key and RabbitMQ package signing key gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [rabbitmq_server-source] name=rabbitmq_server-source baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
2、更新软件包数据
# yum update -y 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
1、启用RabbitMQ
systemctl enable rabbitmq-server
2、开启Rabbitmq-server 服务
systemctl start rabbitmq-server
3、查看MQ进程
ps -ef | grep rabbitmq
4、查看mq占用的端口
lsof -i | grep rabbit # 或者 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账号
#第一步:添加 admin 用户并设置密码 rabbitmqctl add_user admin 123456 #第二步:添加 admin 用户为administrator角色 rabbitmqctl set_user_tags admin administrator #第三步:设置 admin 用户的权限,指定允许访问的vhost以及write/read rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" #第四步:查看vhost(/)允许哪些用户访问 rabbitmqctl list_permissions -p / #第五步:查看用户列表 rabbitmqctl list_users
就可以远程访问网页控制台了
以php语言为例子
1、使用composer安装php-amqpblib扩展
composer require php-amqplib/php-amqplib=^3.0
2、在composer.json文件中添加
"php-amqplib/php-amqplib": "^3.0"
到此,安装完成!
上一篇:爬虫(滑块验证的破解)