Meerdere websites instellen met Nginx

Wij gaan ervan uit dat:

  • U werkt op een ontwikkelcomputer (laptop, virtuele machine of dergelijke).

    Er kunnen extra taken nodig zijn om meerdere websites in een gehoste omgeving te implementeren. Neem contact op met uw hostingprovider voor meer informatie.

    Er zijn extra taken nodig om Adobe Commerce in te stellen op cloudinfrastructuur. Nadat u de taken voltooit die in dit onderwerp worden besproken, zie Opstelling veelvoudige websites of opslagin Commerce op de gids van de Infrastructuur van de Wolk.

  • U accepteert meerdere domeinen in één virtueel hostbestand of gebruikt één virtuele host per website. De configuratiebestanden van de virtuele host bevinden zich in /etc/nginx/sites-available .

  • U gebruikt de nginx.conf.sample die door Commerce wordt geleverd, alleen de wijzigingen die in deze zelfstudie worden besproken.

  • De Commerce-software wordt geïnstalleerd in /var/www/html/magento2 .

  • U hebt twee andere websites dan de standaard:

    • french.mysite.mg met websitecode french en code van de opslagweergave fr
    • german.mysite.mg met websitecode german en code van de opslagweergave de
    • mysite.mg is de standaardwebsite- en winkelweergave
TIP
Verwijs naar creeer websitesen creeer opslagmeningenvoor hulp bij het bepalen van deze waarden.

Hieronder volgt een routekaart voor het instellen van meerdere websites met nginx:

  1. Opstelling websites, opslag, en opslagmeningenin Admin.

  2. Creeer een virtuele gastheer Nginx) om vele websites of één virtuele gastheer Nginx per website van Commerce (hieronder gedetailleerde stappen) in kaart te brengen.

  3. Geef de waarden van de variabelen van de BEELDING$MAGE_RUN_TYPE en $MAGE_RUN_CODE aan nginx door Magento-verstrekt nginx.conf.sample (hieronder gedetailleerde stappen) te gebruiken.

    • $MAGE_RUN_TYPE kan store of website zijn:

      • Gebruik website om uw website in uw winkel te laden.
      • Gebruik store om een winkelweergave in uw winkelvoorkeuren te laden.
    • $MAGE_RUN_CODE is de unieke website- of opslagweergavecode die overeenkomt met $MAGE_RUN_TYPE .

  4. Werk de configuratie van Basis URL op Commerce admin bij.

Stap 1: Websites maken, winkels maken en weergaven opslaan in Beheer

Zie Opstelling veelvoudige websites, opslag, en opslagmeningen in Admin.

Stap 2: Nginx virtuele hosts maken

In deze stap wordt beschreven hoe u websites op de winkel kunt laden. U kunt websites of opslagweergaven gebruiken. Als u opslagweergaven gebruikt, moet u de parameterwaarden dienovereenkomstig aanpassen. U moet de taken in deze sectie uitvoeren als een gebruiker met sudo rechten.

Door enkel één nginx virtueel gastheerdossierte gebruiken, kunt u uw nginxconfiguratie eenvoudig en schoon houden. Door verschillende virtuele hostbestanden te gebruiken, kunt u elke winkel aanpassen (bijvoorbeeld om een aangepaste locatie voor french.mysite.mg te gebruiken).

om één virtuele gastheer (vereenvoudigd) tot stand te brengen:

Deze configuratie breidt zich op nginx configuratieuit.

  1. Open een teksteditor en voeg de volgende inhoud toe aan een nieuw bestand met de naam /etc/nginx/sites-available/magento :

    code language-conf
    map $http_host $MAGE_RUN_CODE {
        default '';
        french.mysite.mg french;
        german.mysite.mg german;
    }
    
    server {
        listen 80;
        server_name mysite.mg french.mysite.mg german.mysite.mg;
        set $MAGE_ROOT /var/www/html/magento2;
        set $MAGE_MODE developer;
        set $MAGE_RUN_TYPE website; #or set $MAGE_RUN_TYPE store;
        include /var/www/html/magento2/nginx.conf;
    }
    
  2. Sla de wijzigingen in de bestanden op en sluit de teksteditor af.

  3. Controleer de serverconfiguratie:

    code language-bash
    nginx -t
    
  4. Als dit gelukt is, wordt het volgende bericht weergegeven:

    code language-none
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

    Controleer de syntaxis van uw configuratiebestanden van de virtuele host als er fouten worden weergegeven.

  5. Een symbolische koppeling maken in de map /etc/nginx/sites-enabled :

    code language-bash
    cd /etc/nginx/sites-enabled
    
    code language-bash
    ln -s /etc/nginx/sites-available/magento magento
    

Voor meer detail over de kaartrichtlijn, zie nginx documentatie over de kaartrichtlijn.

om veelvoudige virtuele gastheren tot stand te brengen:

  1. Open een teksteditor en voeg de volgende inhoud toe aan een nieuw bestand met de naam /etc/nginx/sites-available/french.mysite.mg :

    code language-conf
    server {
        listen 80;
        server_name french.mysite.mg;
        set $MAGE_ROOT /var/www/html/magento2;
        set $MAGE_MODE developer;
        set $MAGE_RUN_TYPE website; #or set $MAGE_RUN_TYPE store;
        set $MAGE_RUN_CODE french;
        include /var/www/html/magento2/nginx.conf;
    }
    
  2. Maak een ander bestand met de naam german.mysite.mg in dezelfde map met de volgende inhoud:

    code language-conf
    server {
        listen 80;
        server_name german.mysite.mg;
        set $MAGE_ROOT /var/www/html/magento2;
        set $MAGE_MODE developer;
        set $MAGE_RUN_TYPE website; #or set $MAGE_RUN_TYPE store;
        set $MAGE_RUN_CODE german;
        include /var/www/html/magento2/nginx.conf;
    }
    
  3. Sla de wijzigingen in de bestanden op en sluit de teksteditor af.

  4. Controleer de serverconfiguratie:

    code language-bash
    nginx -t
    
  5. Als dit gelukt is, wordt het volgende bericht weergegeven:

    code language-none
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

    Controleer de syntaxis van uw configuratiebestanden van de virtuele host als er fouten worden weergegeven.

  6. Symbolische koppelingen maken in de map /etc/nginx/sites-enabled :

    code language-bash
    cd /etc/nginx/sites-enabled
    
    code language-bash
    ln -s /etc/nginx/sites-available/french.mysite.mg french.mysite.mg
    
    code language-bash
    ln -s /etc/nginx/sites-available/german.mysite.mg german.mysite.mg
    

Stap 3: Nginx.conf.sample wijzigen

TIP
Bewerk het nginx.conf.sample -bestand niet. Het is een Commerce-kernbestand dat bij elke nieuwe release kan worden bijgewerkt. Kopieer in plaats daarvan het nginx.conf.sample -bestand, wijzig de naam ervan en bewerk vervolgens het gekopieerde bestand.

om het PHP ingangspunt voor de belangrijkste toepassing uit te geven:

Het nginx.conf.sample bestand** wijzigen:

  1. Open een teksteditor en bekijk het nginx.conf.sample -bestand <magento2_installation_directory>/nginx.conf.sample . Zoek de volgende sectie:

    code language-conf
    # PHP entry point for main application
    location ~ (index|get|static|report|404|503|health_check)\.php$ {
        try_files $uri =404;
        fastcgi_pass   fastcgi_backend;
        fastcgi_buffers 1024 4k;
    
        fastcgi_param  PHP_FLAG  "session.auto_start=off \n suhosin.session.cryptua=off";
        fastcgi_param  PHP_VALUE "memory_limit=1G \n max_execution_time=18000";
        fastcgi_read_timeout 600s;
        fastcgi_connect_timeout 600s;
    
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    
  2. Werk het nginx.conf.sample bestand bij met de volgende twee regels vóór de instructie include:

    code language-conf
    fastcgi_param MAGE_RUN_TYPE $MAGE_RUN_TYPE;
    fastcgi_param MAGE_RUN_CODE $MAGE_RUN_CODE;
    

Een voorbeeld van een bijgewerkt PHP-ingangspunt voor de hoofdtoepassing ziet er als volgt uit:

# PHP entry point for main application

location ~ (index|get|static|report|404|503|health_check)\.php$ {
    try_files $uri =404;
    fastcgi_pass   fastcgi_backend;
    fastcgi_buffers 1024 4k;

    fastcgi_param  PHP_FLAG  "session.auto_start=off \n suhosin.session.cryptua=off";
    fastcgi_param  PHP_VALUE "memory_limit=1G \n max_execution_time=18000";
    fastcgi_read_timeout 600s;
    fastcgi_connect_timeout 600s;

    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    # START - Multisite customization
    fastcgi_param MAGE_RUN_TYPE $MAGE_RUN_TYPE;
    fastcgi_param MAGE_RUN_CODE $MAGE_RUN_CODE;
    # END - Multisite customization
    include        fastcgi_params;
}

Stap 4: Werk de basis-URL-configuratie bij

U moet de basis-URL voor de french - en german -websites bijwerken in de Commerce-beheerder.

Basis-URL Franse website bijwerken

  1. Login aan Commerce admin en navigeer aan Opslag > Montages > Configuratie > Algemeen > Web.
  2. Verander het configuratiewerkingsgebied in de french website.
  3. Breid Basis URLs sectie uit en werk de Basis URL en waarde van de Verbinding URL van de Basis aan http://french.magento24.com/ bij.
  4. Breid Basis URLs (Veilig) uit sectie en werk de Veilige Basis URL en Veilige waarde van de Verbinding URL van de Basis aan https://french.magento24.com/ bij.
  5. Klik sparen Config en sla de configuratieveranderingen op.

URL van basis Duitse website bijwerken

  1. Login aan Commerce admin en navigeer aan Opslag > Montages > Configuratie > Algemeen > Web.
  2. Verander het configuratiewerkingsgebied in de german website.
  3. Breid Basis URLs sectie uit en werk de Basis URL en waarde van de Verbinding URL van de Basis aan http://german.magento24.com/ bij.
  4. Breid Basis URLs (Veilig) uit sectie en werk de Veilige Basis URL en Veilige waarde van de Verbinding URL van de Basis aan https://german.magento24.com/ bij.
  5. Klik sparen Config en sla de configuratieveranderingen op.

Cache reinigen

Voer de volgende opdracht uit om de cache van config en full_page leeg te maken.

bin/magento cache:clean config full_page

Uw site verifiëren

Tenzij u DNS opstelling voor URLs van uw opslag hebt, moet u een statische route aan de gastheer in uw hosts dossier toevoegen:

  1. Zoek het hosts -bestand van uw besturingssysteem.

  2. Voeg de statische route in het formaat toe:

    code language-conf
    <ip-address> french.mysite.mg
    <ip-address> german.mysite.mg
    
  3. Ga naar een van de volgende URL's in uw browser:

    code language-http
    http://mysite.mg/admin
    http://french.mysite.mg/frenchstoreview
    http://german.mysite.mg/germanstoreview
    
INFO
  • Er kunnen extra taken nodig zijn om meerdere websites in een gehoste omgeving te implementeren. Neem contact op met uw hostingprovider voor meer informatie.
  • De extra taken worden vereist aan opstelling Adobe Commerce op wolkeninfrastructuur; zie Opstelling veelvoudige websites of opslag van de Wolkin Commerce op de gids van de Infrastructuur van de Wolk.

Problemen oplossen

  • Als uw Franse en Duitse plaatsen 404s maar uw Admin laadt terugkeren, zorg u Stap 6 voltooide: voeg de opslagcode aan basisURLtoe.
  • Als alle URL's 404 retourneren, moet u de webserver opnieuw starten.
  • Als de beheerder niet correct werkt, zorg ervoor u opstelling uw virtuele gastheren behoorlijk.
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c