訊息代理人
Adobe Commerce使用 RabbitMQ 開放原始碼訊息代理人。 它提供可靠、高可用性、可擴充且可攜式的傳訊系統。
訊息佇列提供非同步通訊機制,讓訊息的傳送者與接收者不會相互聯絡。 也不需要同時與訊息佇列通訊。 當寄件者將郵件放入佇列時,郵件會儲存到收件者收到郵件為止。
安裝Adobe Commerce之前,必須先建立訊息佇列系統。 基本順序為:
- 安裝 RabbitMQ 以及任何必要條件。
- 連線 RabbitMQ 前往Adobe Commerce。
安裝 RabbitMQ 在Ubuntu上
若要安裝 RabbitMQ 在Ubuntu 16上,輸入下列指令:
sudo apt install -y rabbitmq-server
這個命令也會安裝必要的Erlang套件。
如果您有舊版Ubuntu, RabbitMQ 建議從他們的網站安裝套件。
- 下載.deb套件,從 rabbitmq-server.
- 使用安裝套件
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
--amqp-port
5672
.--amqp-user
guest
.--amqp-password
guest
.--amqp-virtualhost
/
.--amqp-ssl
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支援,請編輯 ssl
和 ssl_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,您必須啟動訊息佇列取用者。 另請參閱 設定訊息佇列 以取得詳細資訊。