/
Pack Hosting Panel

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.