1.從github上面獲取amqp基於php的實現擴充套件
2.建立生產者 send.php
1view coderequire(__dir__ . 『/../protected/vendor/autoload.php『);23
usephpamqplib\connection\amqpstreamconnection;
4use
phpamqplib\message\amqpmessage;56
7$connection = new amqpstreamconnection(『192.168.38.129『, 5672, 『fanwq『, 『ysq『);
8$channel = $connection->channel();
9$channel->queue_declare(『hello『, false, false, false, false
);10
11$msg = new amqpmessage($i.『-hello world! --『 . $_server[『ssh_connection『]);
12$channel->basic_publish($msg, 『『, 『hello『);
13echo " sent 『hello world!『\n";
14$channel->close();
15$connection->close();
3.建立消費者 receive.php
1view coderequire(__dir__ . 『/../protected/vendor/autoload.php『);23
usephpamqplib\connection\amqpstreamconnection;
4use
phpamqplib\message\amqpmessage;56
$connection = new amqpstreamconnection(『192.168.38.129『, 5672, 『fanwq『, 『ysq『);
7$channel = $connection->channel();89
$channel->queue_declare(『hello『, false, false, false, false
);10
echo 『 [*] waiting for messages. to exit press ctrl+c『, "\n";
11$callback = function($msg
) ;14
15$channel->basic_consume(『hello『, 『『, false, true, false, false, $callback
);16
17while(count($channel->callbacks))
4.在cli模式下 分別執行 send.php receive.php 可以看到如下:
說明生產 消費端均ok。
5.管理 檢視佇列訊息:安裝rabbitmq_management外掛程式
【5-1】檢視當前可用外掛程式:
【5-2】 安裝啟用 rabbitmq_management外掛程式
【5-3】進入rabbitmq_management管理端:
【5-4】 guest使用者沒有許可權 需要授權
rabbitmqctl set_user_tags guest monitoring
rabbitmqctl set_user_tags guest management
【5-5】登陸成功
基於docker搭建rabbitmq
前提是安裝了docker的環境,這個我之前的文章中有。安裝rabbitmq的步驟和其他的軟體在docker中安裝步驟類似 1 找到映象中心 2 根據要求 找到指定的版本 tag 我這裡是使用的七牛的映象位址,然後使用的3.7 manager 的乙個版本 3 使用指令拉取image 映象檔案到伺服器 ...
RabbitMQ 基於RPC實現
對於使用rabbitmq執行command的情況,有時候需要有返回值資訊。此時相當於client發布乙個command後,並偵聽返回結果的queue,server接收並處理,將處理結果發布到client偵聽的queue中。簡單實現如下 1.client端 private static void rp...
基於Docker安裝RabbitMQ 單機版
docker run name rabbitmq d p 15672 15672 p 5672 5672 rabbitmq 3.7.7 management 後台執行 d 設定主機名 hostname 給容器取名為 rabbitmq name rabbitmq rabbitmq 賬號設定為 e ra...