`
liu86th
  • 浏览: 117910 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

CentOS7下安装RabbitMQ3.7.9

 
阅读更多

1.首先安装Erlang

 [1] 安装依赖组件

yum install epel-release
yum install unixODBC unixODBC-devel wxBase wxGTK SDL wxGTK-gl 

 [2] 可能会出现如下错误erlang >= 19.3 被 rabbitmq-server-3.7.9-1.el7.noarch,通过下面步骤解决

 

 [3] 设置RabbitMQ的依赖源, 编辑/etc/yum.repos.d/rabbitmq-erlang.repo输入以下内容:

[rabbitmq-erlang]
 name=rabbitmq-erlang
 baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
 gpgcheck=1
 gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
 repo_gpgcheck=0
 enabled=1

 2. 下载RabbitMQ的安装包

# yum clean all
 # yum makecache
 # wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.9/rabbitmq-server-3.7.9-1.el7.noarch.rpm

 3. yum install rabbitmq-server-3.7.9-1.el7.noarch.rpm

4. 出现的问题

  [1] 问题1

Transaction check error:
  file /usr/bin/epmd from install of erlang-20.3.8.10-1.el7.centos.x86_64 conflicts with file from package esl-erlang-21.1.1-1.x86_64
  file /usr/bin/erl from install of erlang-20.3.8.10-1.el7.centos.x86_64 conflicts with file from package esl-erlang-21.1.1-1.x86_64
  file /usr/bin/erlc from install of erlang-20.3.8.10-1.el7.centos.x86_64 conflicts with file from package esl-erlang-21.1.1-1.x86_64
  file /usr/bin/escript from install of erlang-20.3.8.10-1.el7.centos.x86_64 conflicts with file from package esl-erlang-21.1.1-1.x86_64
  file /usr/bin/run_erl from install of erlang-20.3.8.10-1.el7.centos.x86_64 conflicts with file from package esl-erlang-21.1.1-1.x86_64
  file /usr/bin/to_erl from install of erlang-20.3.8.10-1.el7.centos.x86_64 conflicts with file from package esl-erlang-21.1.1-1.x86_64:   

 解决:卸载冲突的组件

yum remove esl-erlang-21.1.1-1.x86_64 esl-erlang-21.1.1-1.x86_64 esl-erlang-21.1.1-1.x86_64 esl-erlang-21.1.1-1.x86_64 esl-erlang-21.1.1-1.x86_64 esl-erlang-21.1.1-1.x86_64 esl-erlang-21.1.1-1.x86_64 esl-erlang-21.1.1-1.x86_64

 解决参考网址:https://blog.csdn.net/huijiangu4621/article/details/83619707

 

5. RabbitMQ 管理

[1] 启动RabbitMQ
 # rabbitmq-server start
 # rabbitmqctl stop
 
 [2] 用户管理
 # rabbitmqctl add_user admin admim
 # rabbitmqctl delete_user admin
 # rabbitmqctl list_users
 # rabbitmqctrl change_password admin admin123
 
 [3] 权限管理
 # rabbitmqctl set_permissions -p  / admin  ".*"  ".*" ".*"
 # rabbitmqctl list_permissions -p /
 # rabbitmqctl clear_permissions -p / admin
 
 说明:
 -p /:代表 set_permissions 控制条目应该用到哪个 vhosts 上;
 admin:代表被授权的用户名字;
 ".*" ".*"  ".*":分别代表配置、读和写权限,而其中的 ".*" 为正则表达式,代表匹配所有权限;
 
 [4] 角色管理 
 # rabbitmqctl set_user_tags admin administrator
 # rabbitmqctl list_users
 
 说明:
 为用户添加权限,已经基本可以满足我们的需求了,但有时,我们可以使用系统预置的角色,为用户赋予角色,那么该用户也就拥有了该角色所赋予的所有权限了,在 RabbitMQ 中,角色大致分为超级管理员、监控者、策略制定者、普通管理者以及其他,它们的区别是什么?

 (1) 超级管理员(administrator)
 可登陆管理控制台(启用managementplugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。

 (2) 监控者(monitoring)
 可登陆管理控制台(启用managementplugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

 (3) 策略制定者(policymaker)
 可登陆管理控制台(启用managementplugin的情况下),同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。

 (4) 普通管理者(management)
 仅可登陆管理控制台(启用managementplugin的情况下),无法看到节点信息,也无法对策略进行管理。
 
 [5] 启用/禁用Web控制台
 # rabbitmq-plugins enable/disabled rabbitmq_management

 

[6] PHP 与 RabbitMQ 基础操作

(1) 在项目根目录创建 composer.json 文件。内容如下:
 {
    "require": {
        "php-amqplib/php-amqplib": ">=2.6.1"
    }
 }

 (2) $ composer install
 (3) 然后新建send.php发送消息内容如下:
	<?php
	require_once __DIR__ . '/vendor/autoload.php';
	use PhpAmqpLib\Connection\AMQPStreamConnection;
	use PhpAmqpLib\Message\AMQPMessage;

	// [1] 创建 RabbitMQ 连接
	$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
	// [2] 打开一个通道。
	$channel    = $connection->channel();
	// [3] 定义一个队列。
	$channel->queue_declare('hello', false, false, false, false);
	// [4] 创建一条字符串消息对象。
	$msg = new AMQPMessage('Hello World!');
	// [5] 向队列当中推送一条消息。
	$channel->basic_publish($msg, '', 'hello');

	echo " [x] Sent 'Hello World!'\n";
	// [6] 关闭通道。
	$channel->close();
	// [7] 关闭连接。
	$connection->close();

 (4) 接收队列消息并消费
	require_once __DIR__ . '/vendor/autoload.php';
	use PhpAmqpLib\Connection\AMQPStreamConnection;

	// [1] 创建 RabbitMQ 连接。
	$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
	// [2] 打开一个通道。
	$channel = $connection->channel();
	// [3] 定义一个队列。
	$channel->queue_declare('hello', false, false, false, false);

	echo ' [*] Waiting for messages. To exit press CTRL+C', "\n";

	// [4] 定义一个匿名方法处理接收到的消息。
	$callback = function($msg) {
		echo " [x] Received ", $msg->body, "\n";
	};
	// [5] 设置接收到的消息由谁来消息。
	$channel->basic_consume('hello', '', false, true, false, false, $callback);
	// [6] 循环等待接收队列的消息。
	while(count($channel->callbacks)) {
		$channel->wait();
	}
	
 (5) 启动脚本
 #php receive.php
 #php php send.php

 参考网址: https://www.jianshu.com/p/3528eb0481c8

分享到:
评论

相关推荐

    centos7离线安装rabbitmq需要的安装包

    centos7离线安装rabbitmq需要的安装包1,版本已经做了匹配: erlang-23.3.4.10-1.el7.x86_64.rpm rabbitmq-server-3.8.26-1.el7.noarch.rpm socat-1.7.3.2-2.el7.x86_64.rpm

    CentOS 7 下安装RabbitMQ教程配套的离线文件

    在本教程中,我们将深入探讨如何在 CentOS 7 操作系统上安装 RabbitMQ,这是一个流行的开源消息代理,基于AMQP(Advanced Message Queuing Protocol)协议。RabbitMQ 使用 Erlang 语言开发,它提供了一个可靠的平台...

    CentOS7安装RabbitMQ所需安装包

    在Linux系统,特别是CentOS 7环境中安装RabbitMQ,这是一个关键的任务,因为RabbitMQ是一个广泛使用的开源消息代理和队列服务器,基于Erlang编程语言开发。它支持多种消息协议,使得分布式系统中的异步任务处理和...

    Centos7 离线安装RabbitMQ,并配置集群.pdf

    RabbitMQ安装及集群的pdf档,网页版下载后整理的,可以用作记录或者操作手册使用。跟网页版原文一模一样

    Centos7安装RabbitMQ的文档和安装包(包含erlang安装包).rar

    在本文中,我们将深入探讨如何在CentOS 7系统上安装RabbitMQ,这是一个流行的开源消息代理和队列管理器。RabbitMQ基于Erlang编程语言,因此在安装RabbitMQ之前,我们需要先安装Erlang环境。本文将涵盖以下几个关键...

    CentOS7 安装RabbitMQ集群.docx

    CentOS7 安装 RabbitMQ 集群 在本节中,我们将介绍如何在 CentOS7 上安装 RabbitMQ 集群。RabbitMQ 是一个流行的开源消息队列服务器,可以用于分布式系统中的消息传递和队列管理。 一、安装 Erlang 运行环境 ...

    centos6.6安装rabbitmq

    ### CentOS 6.6安装RabbitMQ全过程 #### 一、前言 在现代软件架构中,消息中间件扮演着非常重要的角色,特别是在分布式系统中,它能够有效地解耦服务,提高系统的稳定性和可扩展性。RabbitMQ作为一款开源的消息代理...

    centos6.5安装rabbitmq详细教程

    在本教程中,我们将深入探讨如何在CentOS 6.5操作系统上安装并配置RabbitMQ,这是一个广泛使用的开源消息代理和队列管理器,基于AMQP(Advanced Message Queuing Protocol)协议。RabbitMQ提供了高可用性、可扩展性...

    Centos6.8安装RabbitMQ

    Centos 6.8安装RabbitMQ ,自己理解的,希望能够帮助大家。

    Centos7安装rabbitmq

    在 CentOS 7 系统上安装 RabbitMQ 需要遵循一系列步骤,因为默认的 YUM 软件仓库中的 RabbitMQ 和 Erlang 版本可能较低。首先,我们需要安装最新版的 Erlang,因为 RabbitMQ 需要特定版本以上的 Erlang。这可以通过...

    Linux下安装RabbitMQ

    以rabbitmq3.6版本为例

    在centos6安装rabbitmq教程

    在centos6安装rabbitmq教程,真实有效。需要有esl-erlang_17.3-1~centos~6_amd64.rpm,esl-erlang-compat-R14B-1.el6.noarch.rpm和rabbitmq-server-3.4.1-1.noarch.rpm

    Centos7下安装MongoDB

    Centos7下安装MongoDB Centos7下安装MongoDB是指在Centos7操作系统中安装和配置MongoDB数据库的过程。MongoDB是一个基于分布式文件存储的NoSQL数据库,由C++语言编写,运行稳定,性能高旨在为 WEB 应用提供可扩展的...

    centOs7安装rabbitmq3.6.4说明(有详细截图) 和两个rpm包

    20160802日自己安装rabbitmq笔记(有详细截图) 1.rpm安装erlang 2.rpm安装rabbitmq 3.配置可视化 希望对大家有用

    centos6、7 yum安装rabbitmq

    解决centos下安装rabbitmq安装困难的问题,命令在阿里云服务器中已测试并通过。安装完毕后可直接启动rabbitmq

    CentOS7下安装配置RabbitMQ详细教程1

    【标题】:“CentOS7下安装配置RabbitMQ详细教程1” 【描述】:这篇教程是针对初学者的,旨在提供在CentOS 7操作系统上安装和配置RabbitMQ的详细步骤,避免复杂的集群和分布式架构,适合入门学习。 【标签】:...

    基于CentOS7 RabbitMQ3.8.4

    在这个场景中,我们讨论的是如何在 CentOS7 上安装 RabbitMQ 的 3.8.4 版本,同时需要先安装其依赖——Erlang 的 23.0.2 版本。 首先,Erlang 是一个由Ericsson开发的编程语言,主要用于构建高可用性、分布式和实时...

    CentOS7安装RabbitMQ.md

    CentOS7安装RabbitMQ:介绍在CentOS7系统中如何安装和配置RabbitMQ,包含一些RabbitMQ的基本命令等

Global site tag (gtag.js) - Google Analytics