AWS S3-emmertje voor externe opslag configureren
De Eenvoudige Dienst van de Opslag van Amazon (Amazon S3)is de dienst van de objecten opslag die industrie-leidende scalability, gegevensbeschikbaarheid, veiligheid, en prestaties aanbiedt. De AWS S3-service gebruikt emmers, of containers, voor gegevensopslag. Deze configuratie vereist u om a privé emmer tot stand te brengen. Voor Adobe Commerce op wolkeninfrastructuur, zie verre opslag voor Commerce op de infrastructuur van de Wolk vormen.
om verre opslag met de adapter van AWS S3 toe te laten:
-
Login aan uw Amazon S3 dashboard en creeer a privé emmer.
-
Opstelling AWS IAMrollen. U kunt ook toegang en geheime sleutels genereren.
-
Schakel de standaardopslag voor de database uit.
code language-bash bin/magento config:set system/media_storage_configuration/media_database 0
-
Configureer Commerce om het privéemmertje te gebruiken. Zie Verre opslagoptiesvoor een volledige lijst van parameters.
code language-bash bin/magento setup:config:set --remote-storage-driver="aws-s3" --remote-storage-bucket="<bucket-name>" --remote-storage-region="<region-name>" --remote-storage-prefix="<optional-prefix>" --remote-storage-key=<optional-access-key> --remote-storage-secret=<optional-secret-key> -n
-
Mediabestanden synchroniseren met externe opslag.
code language-bash bin/magento remote-storage:sync
Nginx configureren
Nginx vereist extra configuratie om Authentificatie met de proxy_pass
richtlijn uit te voeren. Voeg de volgende proxygegevens toe aan het nginx.conf
-bestand:
nginx.conf
location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
# Proxying to AWS S3 storage.
resolver 8.8.8.8;
set $bucket "<s3-bucket-name>";
proxy_pass https://s3.amazonaws.com/$bucket$uri;
proxy_pass_request_body off;
proxy_pass_request_headers off;
proxy_intercept_errors on;
proxy_hide_header "x-amz-id-2";
proxy_hide_header "x-amz-request-id";
proxy_hide_header "x-amz-storage-class";
proxy_hide_header "Set-Cookie";
proxy_ignore_headers "Set-Cookie";
}
Verificatie
Als u toegang en geheime sleutels in plaats van AWS IAMrollen gebruikt, moet u de ngx_aws_auth
module Nginxomvatten.
Machtigingen
De S3-integratie is afhankelijk van de mogelijkheid om cacheafbeeldingen te genereren en op te slaan op het lokale bestandssysteem. Daarom zijn de omslagtoestemmingen voor pub/media
en gelijkaardige folders het zelfde voor S3 als wanneer het gebruiken van lokale opslag.
Bestandsbewerkingen
U wordt ten zeerste aangeraden om bij de ontwikkeling van de codering of extensie de methoden van de Commerce -bestandsadapter te gebruiken, ongeacht het type bestandsopslag. Wanneer u S3 gebruikt voor opslag, moet u geen native I/O-bewerkingen voor PHP-bestanden gebruiken, zoals copy
, rename
of file_put_contents
, omdat S3-bestanden zich niet in het bestandssysteem bevinden. Zie DriverInterface.phpvoor codevoorbeelden.