GNU/Linux >> Tutoriels Linux >  >> Linux

Configuration Magento 2 Rabbitmq

Présentation

En novembre 2018, la mise à jour Magento 2.3.0 a discrètement introduit l'intégration avec l'outil de gestion de file d'attente de messages RabbitMQ. La nouvelle fonctionnalité a ouvert de puissantes options d'optimisation pour les éditions Magento 2 Commerce et Open Source.

Récemment, nous avons parlé de l'installation et de la configuration de RabbitMQ. Maintenant, nous allons vous montrer comment configurer Rabbitmq et l'utiliser sur l'instance Magento 2 installée.

Avantages

Le principal avantage de l'utilisation de RabbitMQ est la possibilité de réduire la charge sur le serveur pendant les heures de pointe en stockant les données sur le courtier de messages. Avant la version 2.3.0, seuls MySQL et cron étaient utilisés à ces fins. Mais maintenant, nous pouvons utiliser Rabbitmq qui peut accélérer votre magasin actuel en réduisant la charge sur la base de données MySQL.

Installation de Rabbitmq

L'installation de Rabbitmq est décrite dans notre article Installation et configuration de RabbitMQ. Qui peut être utilisé pour installer RabbitMQ sur votre serveur Ubuntu ou CentOS.

Configuration de Rabbitmq

1. Tout d'abord, vous devez supprimer l'utilisateur invité :

# rabbitmqctl delete_user guest

2. Après cela, nous devrons créer un utilisateur avec les autorisations nécessaires.

# rabbitmqctl add_user rabbitmq rabbitmq_pwd
# rabbitmqctl set_user_tags rabbitmq administrator
# rabbitmqctl set_permissions -p / rabbitmq ".*" ".*" ".*"

3. De plus, nous devons créer une file d'attente :

# rabbitmqadmin --username=rabbitmq --password=rabbitmq_pwd declare queue --vhost=/ name=async.operations.all durable=true

C'est tout, rabbitmq est prêt à l'emploi. A partir de maintenant, nous pouvons commencer à configurer Magento pour l'utiliser.

Configuration Magento

Tout d'abord, nous devons ajouter la configuration rabbitmq. Cela peut être fait de 2 manières :

Via bin/magento

$ php bin/magento setup:config:set --amqp-host="127.0.0.1" --amqp-port="5672" --amqp-user="rabbitmq" --amqp-password="rabbitmq_pwd" --amqp-virtualhost="/"

En éditant app/etc/env.php avec les lignes suivantes

'queue' =>
  array (
    'amqp' =>
    array (
      'host' => '127.0.0.1',
      'port' => '5672',
      'user' => 'rabbitmq',
      'password' => 'rabbitmq_pwd',
      'virtualhost' => '/'
     ),
  ),

De plus, vous devrez ajouter cron runner à app/etc/env.php :

'cron_consumers_runner' => [
  'cron_run' => true,
  'max_messages' => 0,
  'consumers' => [
    'async.operations.all',
    'codegeneratorProcessor'
  ]
]

C'est tout. Nous avons configuré avec succès le consommateur rabbitmq dans Magento.

Test du consommateur rabbitmq sur Magento

Pour répertorier tous les consommateurs, vous pouvez exécuter la commande :

# php bin/magento queue:consumers:list

Pour exécuter le consommateur, vous devez exécuter la commande suivante :

# php bin/magento  queue:consumers:start  async.operations.all

C'est tout. Le consommateur devrait travailler maintenant !

Conclusion

RabbitMQ est un courtier de messages puissant qui peut vous aider à améliorer la vitesse de votre magasin. En outre, il sera utile de réduire la charge sur votre serveur MySQL, ce qui peut être utile lors des pics de charge.


Linux
  1. Fichier de configuration de la base de données Magento 2

  2. Procédure :Réplication et configuration DRBD

  3. Désactiver le mode maintenance dans Magento

  4. Vérifier la configuration de DNSMASQ

  5. Exemple simple de configuration auditd ?

Renforcement de la configuration SSH

Configuration de l'utilisateur min

Configuration Webmin

Paramétrage PHP

Configuration du réseau

Comment installer Magento 2.x dans cPanel ?