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