訊息代理人

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

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

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

  1. 安裝 RabbitMQ 以及任何必要條件。
  2. 連線 RabbitMQ 前往Adobe Commerce。
NOTE
您可以使用MySQL或 RabbitMQ 用於訊息佇列處理。 如需設定訊息佇列系統的詳細資訊,請參閱 訊息佇列總覽. 如果您搭配Adobe Commerce使用大量API,訊息佇列系統設定預設為使用 RabbitMQ 作為訊息代理人。 另請參閱 啟動訊息佇列取用者 以取得詳細資訊。

安裝 RabbitMQ 在Ubuntu上

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

sudo apt install -y rabbitmq-server

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

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

  1. 下載.deb套件,從 rabbitmq-server.
  2. 使用安裝套件 dpkg.

請參閱 在Debian/Ubuntu上安裝 以取得詳細資訊。

安裝 RabbitMQ 在CentOS上

安裝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,新增 queue 中的區段 <install_directory>/app/etc/env.php 檔案,使其類似於以下內容:

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

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

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

執行命令或更新後 <install_directory>/app/etc/env.php 具有AMQP設定值的檔案,執行 bin/magento setup:upgrade 以套用變更,並建立所需的佇列和交換 RabbitMQ.

設定SSL

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

'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