訊息代理人

Adobe Commerce使用RabbitMQ開放原始碼訊息代理人。 它提供可靠、高可用性、可擴充且可攜式的傳訊系統。

訊息佇列提供非同步通訊機制,讓訊息的傳送者與接收者不會相互聯絡。 也不需要同時與訊息佇列通訊。 當寄件者將郵件放入佇列時,郵件會儲存到收件者收到郵件為止。

安裝Adobe Commerce之前,必須先建立訊息佇列系統。 基本順序為:

  1. 安裝RabbitMQ及任何先決條件。
  2. 將RabbitMQ連線至Adobe Commerce。
NOTE
您可以使用MySQL或RabbitMQ進行訊息佇列處理。 如需設定訊息佇列系統的詳細資訊,請參閱訊息佇列概述。 如果您搭配Adobe Commerce使用大量API,訊息佇列系統設定預設為使用RabbitMQ作為訊息代理人。 如需詳細資訊,請參閱啟動訊息佇列消費者

在Ubuntu上安裝RabbitMQ

若要在Ubuntu 16上安裝RabbitMQ,請輸入下列命令:

sudo apt install -y rabbitmq-server

這個命令也會安裝必要的Erlang套件。

如果您有舊版Ubuntu,RabbitMQ建議從他們的網站安裝套件。

  1. rabbitmq-server下載.deb套件。
  2. 安裝包含dpkg的套件。

如需詳細資訊,請參閱在Debian/Ubuntu上安裝

在CentOS上安裝RabbitMQ

安裝Erlang

RabbitMQ是使用Erlang程式語言撰寫的,必須安裝在與RabbitMQ相同的系統上。

如需詳細資訊,請參閱手動安裝

請參閱RabbitMQ/Erlang版本矩陣以安裝正確版本。

安裝RabbitMQ

RabbitMQ伺服器包含在CentOS上,但版本通常較舊。 RabbitMQ建議從他們的網站安裝套件。

請參閱RabbitMQ安裝頁面以取得最新支援的版本。 Adobe Commerce 2.3和2.4支援RabbitMQ 3.8.x。

如需詳細資訊,請參閱在RPM Linux上安裝。

設定RabbitMQ

檢閱正式RabbitMQ檔案以設定和管理RabbitMQ。 請注意下列專案:

  • 環境變數
  • 連線埠存取
  • 預設使用者帳戶
  • 啟動和停止代理人
  • 系統限制

使用RabbitMQ安裝並連線

如果您在​ 之後安裝Adobe Commerce,則安裝RabbitMQ,請在安裝期間新增下列命令列引數:

--amqp-host="<hostname>" --amqp-port="5672" --amqp-user="<user_name>" --amqp-password="<password>" --amqp-virtualhost="/"

其中:

引數
說明
--amqp-host
安裝RabbitMQ的主機名稱。
--amqp-port
用來連線到RabbitMQ的連線埠。 預設值為5672
--amqp-user
連線到RabbitMQ的使用者名稱。 不要使用預設使用者guest
--amqp-password
連線到RabbitMQ的密碼。 不要使用預設密碼guest
--amqp-virtualhost
連線至RabbitMQ的虛擬主機。 預設值為/
--amqp-ssl
指示是否要連線到RabbitMQ。 預設值為false。 若將值設為true,請參閱設定SSL以取得詳細資訊。

連線RabbitMQ

如果您已安裝Adobe Commerce且想要將其連線至RabbitMQ,請在<install_directory>/app/etc/env.php檔案中新增queue區段,使其類似於以下內容:

'queue' =>
  array (
    'amqp' =>
    array (
      'host' => 'rabbitmq.example.com',
      'port' => '11213',
      'user' => 'magento',
      'password' => 'magento',
      'virtualhost' => '/'
     ),
  ),

您也可以使用bin/magento setup:config:set命令設定RabbitMQ組態值:

bin/magento setup:config:set --amqp-host="rabbitmq.example.com" --amqp-port="11213" --amqp-user="magento" --amqp-password="magento" --amqp-virtualhost="/"

執行命令或使用AMQP組態值更新<install_directory>/app/etc/env.php檔案之後,請執行bin/magento setup:upgrade以套用變更,並在RabbitMQ中建立必要的佇列和交換。

設定SSL

若要設定對SSL的支援,請編輯<install_directory>/app/etc/env.php檔案中的sslssl_options引數,使其類似下列:

'queue' =>
  array (
    'amqp' =>
    array (
      'host' => 'rabbitmq.example.com',
      'port' => '11213',
      'user' => 'magento',
      'password' => 'magento',
      'virtualhost' => '/',
      'ssl' => 'true',
      'ssl_options' => [
            'cafile' =>  '/etc/pki/tls/certs/DigiCertCA.crt',
            'certfile' => '/path/to/magento/app/etc/ssl/test-rabbit.crt',
            'keyfile' => '/path/to/magento/app/etc/ssl/test-rabbit.key'
       ],
     ),
  ),

啟動訊息佇列取用者

連線Adobe Commerce和RabbitMQ後,您必須啟動訊息佇列取用者。 請參閱設定訊息佇列以取得詳細資料。

recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995