Shopware 6 mit NGINX konfigurieren

Apache oder NGINX – hier scheiden sich die Geister. Ich nutze lokal eigentlich nur noch NGINX und nur wenn es sein muss Apache2. Wie Ihr euer Shopware 6 mit NGINX zum laufen bekommt zeige ich in einem kurzen Beispiel.

Symfony & NGINX

Shopware 6 nutzt bekanntermaßen ja Symfony 4 und kann daher auch mit einer Standardkonfiguration von Symfony laufen. Die Ausnahme bildet hier aber die Installation und das Update.

Fehler

Diese Seite funktioniert nicht dev.shopware6.de kann diese Anfrage momentan nicht verarbeiten.
HTTP ERROR 500

Das passiert wenn /recovery/update/ und /recovery/install/ nicht in der config hinterlegt wurden.

Konfiguraton

server {
    listen 80;

    index index.php index.html;
    server_name dev.shopware6.de;
    root /var/www/sw6/public;

    location /recovery/install {
        index index.php;
        try_files $uri /recovery/install/index.php$is_args$args;
    }

    location /recovery/update/ {
        location /recovery/update/assets {
        }
        if (!-e $request_filename){
            rewrite . /recovery/update/index.php last;
        }
    }

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi.conf;
        fastcgi_param HTTP_PROXY "";
        fastcgi_buffers 8 16k;
        fastcgi_buffer_size 32k;
        client_max_body_size 24M;
        client_body_buffer_size 128k;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        http2_push_preload on;
    }
}

Installation

Sobald die Zeilen 10-24 hinzugefügt wurden läuft die Installation wie beim Apache ab:

Shopware Installation mit NGINX
Datenbank Migration

Update

Auch das Update läuft dank des /recovery/update/ Pfads nun sauber durch:

Early Access 1.1 Update
Update erfolgreich

Eine Antwort auf „Shopware 6 mit NGINX konfigurieren“

  1. Mit dieser nginx Konfiguration wird die sitemap nicht funktionieren. Deshalb sollte das hier in der Server Konfiguration von nginx ergänzt werden:

    ## XML Sitemap support.
    location = /sitemap.xml {
    log_not_found off;
    access_log off;
    try_files $uri /;
    }

    ## robots.txt support.
    location = /robots.txt {
    log_not_found off;
    access_log off;
    try_files $uri /;
    }

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert