GNU/Linux >> Tutoriales Linux >  >> Linux

Configuración de Magento 2 Rabbitmq

Introducción

En noviembre de 2018, la actualización de Magento 2.3.0 introdujo discretamente la integración con la herramienta de administración de colas de mensajes RabbitMQ. La nueva característica abrió potentes opciones de optimización para las ediciones Magento 2 Commerce y Open Source.

Recientemente, hemos hablado sobre la instalación y configuración de RabbitMQ. Ahora, le mostraremos cómo configurar Rabbitmq y usarlo en la instancia de Magento 2 instalada.

Beneficios

El principal beneficio de usar RabbitMQ es la capacidad de disminuir la carga en el servidor durante las horas pico mediante el almacenamiento de datos en el intermediario de mensajes. Antes de la versión 2.3.0, solo se usaban MySQL y cron para esos fines. Pero ahora podemos usar Rabbitmq, que puede acelerar su tienda actual al disminuir la carga en la base de datos MySQL.

Instalación de Rabbitmq

La instalación de Rabbitmq se describe en nuestro artículo Instalación y configuración de RabbitMQ. Que se puede usar para instalar RabbitMQ en su servidor Ubuntu o CentOS.

Configuración de Rabbitmq

1. En primer lugar, debe eliminar al usuario invitado:

# rabbitmqctl delete_user guest

2. Después de eso, necesitaremos crear un usuario con los permisos necesarios.

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

3. Además, necesitamos crear una cola:

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

Eso es todo, rabbitmq está listo para usar. A partir de ahora, podemos empezar a configurar Magento para usarlo.

Configuración de Magento

En primer lugar, debemos agregar la configuración de rabbitmq. Se puede hacer de 2 formas:

A través de 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="/"

Editando app/etc/env.php con las siguientes líneas

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

Además, deberá agregar cron runner a app/etc/env.php:

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

Eso es todo. Configuramos con éxito el consumidor de rabbitmq en Magento.

Prueba del consumidor de rabbitmq en Magento

Para enumerar todos los consumidores, puede ejecutar el comando:

# php bin/magento queue:consumers:list

Para ejecutar el consumidor, debe ejecutar el siguiente comando:

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

Eso es todo. ¡El consumidor debería trabajar ahora!

Conclusión

RabbitMQ es un poderoso intermediario de mensajes que puede ayudar a mejorar la velocidad de su tienda. Además, será útil disminuir la carga en su servidor MySQL, lo que puede ser útil durante los picos de carga.


Linux
  1. Limpieza de registros de Magento

  2. Archivo de configuración de la base de datos de Magento 2

  3. Cómo:replicación y configuración de DRBD

  4. Deshabilitar el modo de mantenimiento en Magento

  5. ¿Ejemplo simple de configuración auditada?

Fortalecimiento de la configuración de SSH

Configuración de usuario

Configuración de Webmin

Configuración PHP

configuración de la red

¿Cómo instalar Magento 2.x en cPanel?