Probieren Sie Rabbit MQ + PHP unter CentOS aus

Ein Hinweis, als ich Rabbit MQ versuchte, die asynchrone Verarbeitung in PHP einzuführen.

MQ Vorbereitung

Installation von Rabbit MQ

yum --enablerepo=epel -y install rabbitmq-server
systemctl start rabbitmq-server
systemctl enable rabbitmq-server

Benutzer hinzufügen

rabbitmqctl add_user mquser password
rabbitmqctl list_users

Virtuellen Host hinzufügen

rabbitmqctl add_vhost myhost
rabbitmqctl list_vhosts

Berechtigungseinstellungen

rabbitmqctl set_permissions -p myhost mquser ".*" ".*" ".*"
rabbitmqctl list_permissions -p myhost

Vorbereitung des PHP-Programms (Sender & Empfänger)

Installation der PHP-Bibliothek

yum -y install --enablerepo=epel,remi-php73 php php-bcmath composer

Komponisteninstallation

cd
mkdir mq
cd mq
composer require php-amqplib/php-amqplib
composer install

Absender

Anwendungserstellung senden

vi send_msg.php
<?php
require_once __DIR__ . '/vendor/autoload.php';

use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;

$connection = new AMQPStreamConnection('127.0.0.1', 5672, 'mquser', 'password', 'myhost');

$channel = $connection->channel();
$channel->queue_declare('Hello_World', false, false, false, false);

$msg = new AMQPMessage('Hello RabbitMQ World!');
$channel->basic_publish($msg, '', 'Hello_World');
echo " [x] Sent 'Hello_World'\n";

$channel->close();
$connection->close();
?>

Senden

php send_msg.php

Empfänger

Empfangs-App erstellen

vi receive_msg.php
<?php
require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;

$connection = new AMQPStreamConnection('127.0.0.1', 5672, 'mquser', 'password', 'myhost');
$channel = $connection->channel();

$channel->queue_declare('Hello_World', false, false, false, false);

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

$callback = function($msg) {
    echo " [x] Received ", $msg->body, "\n";
};

$channel->basic_consume('Hello_World', '', false, true, false, false, $callback);

while(count($channel->callbacks)) {
    $channel->wait();
}
?>

Erhalten

php receive_msg.php
(CTRL+Halten Sie bei C.)

Recommended Posts

Probieren Sie Rabbit MQ + PHP unter CentOS aus
Probieren Sie OpenLiteSpeed unter CentOS8 aus
Versuchen Sie, CentOS 8 in Raspberry Pi 3 zu integrieren
So installieren Sie Beta PHP8.0 unter CentOS8
Befehl zum Installieren von nginx / PHP7 / php-fpm unter CentOS7
Maven auf CentOS 7 Tutorial
Probieren Sie DisplayLink unter Ubuntu 20.04 aus
Docker-Installation unter CentOS 6
Verwenden Sie perltidy unter CentOS 8
Installieren Sie Golang unter CentOS 8
Installieren Sie Neo4j 4.1.3 unter centOS
Tomcat v8 unter CentOS7
Installieren Sie Vertica 10.0 unter CentOS 6.10
Installation von Zabbix 5 unter CentOS 8
Verwenden Sie mod_auth_cas unter CentOS 8
Installieren Sie PostgreSQL 12 auf Centos8
Installieren Sie Python 3 unter CentOS 7
Installieren Sie kuromoji unter CentOS7
Anlegestelle v8 auf CentOS7
OpenJDK-Installation unter CentOS7
Installieren Sie PostGIS 2.5.5 unter CentOS7
Installieren Sie jpndistrict unter CentOS 7
Installieren Sie Redmine 4.1.1 unter CentOS 7
Smokeping Installation unter CentOS7
Installieren Sie PostgreSQL 13 unter CentOS 7.5
Stellen Sie exFat unter CentOS 7 zur Verfügung
Probieren Sie Docker unter Windows 10 Home aus
Installieren Sie OpenFOAM v2006 unter CentOS
Richten Sie Gitolite unter CentOS 7 ein
Installieren Sie Jenkins auf Dockers CentOS
Installieren Sie Apache unter CentOS auf VirtualBox
Ändern Sie die Java-Version unter CentOS
Installieren Sie Ruby 2.7 unter CentOS 7 (SCL)
Führen Sie eine Protokollrotation mit Centos durch
Versuchen Sie Spring Boot auf dem Mac
[Ruby on Rails] Leseversuch (: [],: Schlüssel)
So stellen Sie Laravel für CentOS 7 bereit
Aktivieren Sie Openjdk10 und Maven unter CentOS
Probieren Sie Redmine auf dem Mac Docker aus
Installieren Sie Ruby 2.5 unter CentOS 7 mit SCL
Java Open JDK 8 unter CentOS 7 installieren
Probieren Sie Quarkus mit IBM Cloud Shell aus
WordPress mit Docker Compose unter CentOS 8
So installieren Sie MariaDB 10.4 unter CentOS 8
Installieren Sie Apache 2.4.46 von der Quelle unter CentOS 7
Verwenden Sie den Befehl iostat unter CentOS 8
Probieren Sie Docker unter Windows Home aus (September 2020)
Versuchen Sie, Spring Boot auf Kubernetes auszuführen
Ich habe versucht, CentOS 8 unter ESXi 6.7 zu installieren