Magento 2 Nginx configuratie
Welke Nginx configuratie is aan te raden voor Magento 2
Nginx configuraties Magento 2
In dit artikel willen we je graag uitleggen hoe je de basis configuraties doet in Nginx voor je Magento 2 shop. Zo leggen we je uit hoe je de configuratie voor static signing en de configuratie voor het genereren van media files toevoegt. Tevens laten we je zien hoe je je storeviews configureert bij Hipex in Nginx.
Static signing en genereren media files
Wanneer je een Magento 2 webshop hebt, kan je er voor kiezen om static signing in te schakelen. Static signing is een feature van Magento welke je kunt gebruiken om de browser cache van statische resources te omleiden. Hiervoor voegt Magento een deployment versie nummer toe aan de url van de statische files. Hier kan je meer lezen over static signing.
De Nginx configuratie welke hiervoor nodig is hebben we al voor je klaargezet. De configuratie hoeft alleen nog ingeschakeld te worden, hieronder leggen we je uit hoe je dit doet:
Log in op de omgeving
Log via SSH in op de betreffende omgeving.
Navigeer naar de locatie van het bestand
Zodra je bent ingelogd kan je naar de betreffende locatie van het bestand navigeren.
Het bestand heeft de naam 'magento.nginx.conf'
en is te vinden op de onderstaande locatie:
/home/<gebruikersnaam>/domains/<domeinnaam>/var/etc/magento.nginx.conf
Activeer de Magento 2 configuratie
Activeer nu de Magento 2 configuratie in het bestand. De configuratie is bovenin het magento.nginx.conf bestand te vinden. Je kan de configuratie activeren door de hekjes (#) te verwijderen, de configuratie zal er dan als volgt uitzien:
################################
# Magento 2 configuration
################################
location /media/ {
try_files $uri $uri/ /get.php$is_args$args;
location ~ ^/media/theme_customization/.*\.xml {
deny all;
}
location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
add_header Cache-Control "public";
add_header X-Frame-Options "SAMEORIGIN";
expires +1y;
try_files $uri $uri/ /get.php$is_args$args;
}
location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
add_header Cache-Control "no-store";
add_header X-Frame-Options "SAMEORIGIN";
expires off;
try_files $uri $uri/ /get.php$is_args$args;
}
add_header X-Frame-Options "SAMEORIGIN";
add_header 'Access-Control-Allow-Origin' '*' always;
}
location /static/ {
# Uncomment the following line in production mode
expires max;
# Remove signature of the static files that is used to overcome the browser cache
location ~ ^/static/version {
rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last;
}
location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header Cache-Control "public";
add_header X-Frame-Options "SAMEORIGIN";
expires +1y;
if (!-f $request_filename) {
rewrite ^/static/?(.*)$ /static.php?resource=$1 last;
}
}
location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
add_header Cache-Control "no-store";
add_header X-Frame-Options "SAMEORIGIN";
expires off;
if (!-f $request_filename) {
rewrite ^/static/?(.*)$ /static.php?resource=$1 last;
}
}
if (!-f $request_filename) {
rewrite ^/static/?(.*)$ /static.php?resource=$1 last;
}
add_header X-Frame-Options "SAMEORIGIN";
add_header 'Access-Control-Allow-Origin' '*' always;
}
Sla het bestand op en herlaad de Nginx configuratie
Sla na aanpassing het bestand op. Herlaad nu de Nginx configuratie met het commando nginx-reload
.
De volgende output zal in beeld verschijnen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Nginx configuration reload successful
De configuraties staan nu actief en de gevoelige locaties zullen afgeschermd zijn voor de buitenwereld.