[Lokalt]{class="badge informative" title="Gäller endast Adobe Commerce lokala projekt."}

Installera Nginx för lokala distributioner nginx

I den här guiden får du hjälp med att installera Nginx för Adobe Commerce lokala distributioner och konfigurera de Nginx-inställningar som Commerce kräver. Det innehåller operativsystemsspecifika procedurer för Ubuntu och CentOS, tillsammans med vägledning för konfiguration av PHP-FPM. Adobe rekommenderar att du följer konfigurationsinstruktionerna i den här handboken för att bevara både funktionaliteten och säkerheten i Commerce-programmet.

Adobe stöder de Nginx-versioner som anges i systemkraven för din Adobe Commerce-version. Versioner som stöds varierar beroende på version. Nginx kräver också en PHP-FPM-konfiguration som stöds. Relaterade PHP-krav finns i PHP.

Installera på Ubuntu

Använd det här avsnittet för att installera Adobe Commerce i Ubuntu med Nginx, PHP och MySQL.

Installera Nginx

sudo apt -y install nginx

Du kan även skapa Nginx från källa.

När du har slutfört följande avsnitt och installerat programmet använder du exempelkonfigurationsfilen för att konfigurera Nginx. Den här rekommenderade konfigurationen bevarar både funktionaliteten och säkerheten för Commerce-programmet.

Installera och konfigurera PHP-FPM

Adobe Commerce kräver flera PHP-tillägg för att fungera korrekt. Utöver dessa tillägg måste du även installera och konfigurera tillägget php-fpm om du använder Nginx.

Installera och konfigurera php-fpm:

  1. Installera paketen php-fpm och php-cli för den PHP-version som stöds av din Adobe Commerce-version. I Ubuntu följer paketnamnen vanligtvis det här mönstret:

    code language-bash
    apt-get -y install php<php-version>-fpm php<php-version>-cli
    
    note note
    NOTE
    Ersätt <php-version> med den PHP-delversion som stöds som listas i systemkraven för den Adobe Commerce-version som du installerar. Använd samma värde i filsökvägar, tjänstnamn och socketsökväg i följande steg.
  2. Öppna php.ini-filerna i en redigerare:

    code language-bash
    vim /etc/php/<php-version>/fpm/php.ini
    
    code language-bash
    vim /etc/php/<php-version>/cli/php.ini
    
  3. Redigera båda filerna så att de matchar följande rader:

    code language-conf
    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    note note
    NOTE
    Adobe rekommenderar att du anger minnesgränsen till 2 GB när du testar Adobe Commerce. Mer information finns i Nödvändiga PHP-inställningar.
  4. Spara och avsluta redigeraren.

  5. Starta om tjänsten php-fpm:

    code language-bash
    systemctl restart php<php-version>-fpm
    

Installera och konfigurera MySQL

Mer information finns i MySQL.

Installera Adobe Commerce

Du kan ladda ned Adobe Commerce på flera sätt:

I det här exemplet visas en Composer-baserad installation med kommandoraden.

  1. Logga in på programservern som filsystemsägare.

  2. Byt till webbserverns dokumentkatalog eller en katalog som du har konfigurerat som ett virtuellt värddokument. I det här exemplet använder vi Ubuntu-standardvärdet /var/www/html.

    code language-bash
    cd /var/www/html
    
  3. Installera Composer globalt. Composer krävs för att uppdatera beroenden innan Adobe Commerce installeras:

    code language-bash
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. Skapa ett Composer-projekt med Adobe Commerce metapaket.

    Magento Open Source

    code language-bash
    composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
    

    Adobe Commerce

    code language-bash
    composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
    

    Ange dina autentiseringsnycklar när du uppmanas till detta. Din offentliga nyckel är ditt användarnamn. Din privata nyckel är ditt lösenord.

  5. Ange läs- och skrivbehörighet för webbservergruppen innan du installerar programmet. Detta är nödvändigt för att kommandoraden ska kunna skriva filer till filsystemet.

    code language-bash
    cd /var/www/html/<magento install directory>
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    
    code language-bash
    chown -R :www-data . # Ubuntu
    
    code language-bash
    chmod u+x bin/magento
    
  6. Installera från kommandoraden. I det här exemplet antas att installationskatalogen har namnet magento2ee och att databasvärden finns på samma dator (localhost):

    code language-bash
    bin/magento setup:install \
    --base-url=http://localhost/magento2ee \
    --db-host=localhost \
    --db-name=<db-name> \
    --db-user=<db-user> \
    --db-password=<db-password> \
    --backend-frontname=<backend-uri> \
    --admin-firstname=<admin-first-name> \
    --admin-lastname=<admin-last-name> \
    --admin-email=<admin-email> \
    --admin-user=<admin-user> \
    --admin-password=<admin-password> \
    --language=en_US \
    --currency=USD \
    --timezone=America/Chicago \
    --use-rewrites=1 \
    --search-engine=<search-engine-value> \
    --<search-engine-host-parameter>=search-host.example.com \
    --<search-engine-port-parameter>=9200
    
    note note
    NOTE
    Använd värdet --search-engine och matchande alternativ för värd/port som krävs för den Adobe Commerce-version som du installerar. För tidigare versioner än 2.4.6 använder du elasticsearch7 med --elasticsearch-*-alternativen för Elasticsearch 7 eller OpenSearch. För version 2.4.6 och senare använder du sökmotorvärdet och motsvarande CLI-alternativ som stöds i den versionen.
  7. Växla till utvecklarläge:

    code language-bash
    cd /var/www/html/magento2/bin
    
    code language-bash
    ./magento deploy:mode:set developer
    

Konfigurera Nginx

Adobe rekommenderar att du konfigurerar Nginx med hjälp av konfigurationsfilen nginx.conf.sample som finns i installationskatalogen och konfigurationen av det virtuella Nginx-värdsystemet för att bevara både funktioner och säkerhet för Commerce-programmet.

IMPORTANT
Filen nginx.conf.sample innehåller nödvändiga programroutningsregler och säkerhetshärjande regler. Det begränsar till exempel körning av skadliga skript som överförts till servern. Om du inte använder den här filen eller ändrar dess regler, ansvarar du för att implementera likvärdiga säkerhetskontroller i din anpassade Nginx-konfiguration.

Dessa instruktioner förutsätter att du använder Ubuntu-standardplatsen för det virtuella Nginx-värdsystemet, till exempel /etc/nginx/sites-available, och Ubuntu-standarddokumentroten, till exempel /var/www/html. Du kan ändra de här platserna så att de passar din miljö.

  1. Skapa ett nytt virtuellt värdsystem för din plats:

    code language-bash
    vim /etc/nginx/sites-available/magento
    
  2. Lägg till följande konfiguration:

    code language-conf
    upstream fastcgi_backend {
      server  unix:/run/php/php<php-version>-fpm.sock;
    }
    
    server {
    
      listen 80;
      server_name www.magento-dev.com;
      set $MAGE_ROOT /var/www/html/magento2;
      include /var/www/html/magento2/nginx.conf.sample;
    }
    
    note note
    NOTE
    Direktivet include måste peka på exempelkonfigurationsfilen nginx i installationskatalogen.
  3. Ersätt www.magento-dev.com med ditt domännamn. Detta måste matcha den bas-URL som du angav när du installerade Adobe Commerce.

  4. Spara och avsluta redigeraren.

  5. Aktivera det nya virtuella värdsystemet genom att skapa en länk till det i katalogen /etc/nginx/sites-enabled:

    code language-bash
    ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled
    
  6. Kontrollera att syntaxen är korrekt:

    code language-bash
    nginx -t
    
  7. Starta om Nginx:

    code language-bash
    systemctl restart nginx
    

Verifiera installationen

Kontrollera installationen genom att öppna en webbläsare och navigera till platsens bas-URL. Mer information finns i Verifiera installationen.

Installera i CentOS 7

Använd det här avsnittet för att installera Adobe Commerce i CentOS 7 med Nginx, PHP och MySQL.

Installera Nginx

yum -y install epel-release
yum -y install nginx

När installationen är klar startar du nginx och konfigurerar det så att det startar vid start:

systemctl start nginx
systemctl enable nginx

När du har slutfört följande avsnitt och installerat programmet använder du en exempelkonfigurationsfil för att konfigurera Nginx.

Installera och konfigurera PHP-FPM

Adobe Commerce kräver flera PHP-tillägg för att fungera korrekt. Utöver dessa tillägg måste du även installera och konfigurera tillägget php-fpm om du använder Nginx.

  1. Installera php-fpm:

    code language-bash
    yum -y install <php-fpm-package>
    
  2. Öppna filen /etc/php.ini i en redigerare.

    note note
    NOTE
    Installera det paket som innehåller php-fpm för den PHP-version som stöds av den Adobe Commerce-version som du installerar. Paketnamnen varierar beroende på databas och operativsystem. Se systemkrav.
  3. Avkommentera raden cgi.fix_pathinfo och ändra värdet till 0.

  4. Redigera filen så att den matchar följande rader:

    code language-conf
    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    note note
    NOTE
    Adobe rekommenderar att du anger minnesgränsen till 2 GB när du testar Adobe Commerce. Mer information finns i Nödvändiga PHP-inställningar.
  5. Avkommentera sessionssökvägskatalogen och ange sökvägen:

    code language-conf
    session.save_path = "/var/lib/php/session"
    
  6. Spara och avsluta redigeraren.

  7. Öppna /etc/php-fpm.d/www.conf i en redigerare.

  8. Redigera filen så att den matchar följande rader:

    code language-conf
    user = nginx
    group = nginx
    listen = /run/php-fpm/php-fpm.sock
    listen.owner = nginx
    listen.group = nginx
    listen.mode = 0660
    
  9. Avkommentera miljöraderna:

    code language-conf
    env[HOSTNAME] = $HOSTNAME
    env[PATH] = /usr/local/bin:/usr/bin:/bin
    env[TMP] = /tmp
    env[TMPDIR] = /tmp
    env[TEMP] = /tmp
    
  10. Spara och avsluta redigeraren.

  11. Skapa en katalog för PHP-sessionssökvägen och ändra ägaren till användaren och gruppen nginx:

    code language-bash
    mkdir -p /var/lib/php/session/
    
    code language-bash
    chown -R nginx:nginx /var/lib/php/
    
  12. Skapa en katalog för PHP-FPM-socketen och ändra ägaren till användaren och gruppen nginx:

    code language-bash
    mkdir -p /run/php-fpm/
    
    code language-bash
    chown -R nginx:nginx /run/php-fpm/
    
  13. Starta tjänsten php-fpm och konfigurera den så att den startar vid start:

    code language-bash
    systemctl start php-fpm
    
    code language-bash
    systemctl enable php-fpm
    
  14. Kontrollera att tjänsten php-fpm körs:

    code language-bash
    netstat -pl | grep php-fpm.sock
    

Installera och konfigurera MySQL

Mer information finns i MySQL.

Installera Adobe Commerce

Du kan ladda ned Adobe Commerce på flera sätt:

I det här exemplet visas en Composer-baserad installation med kommandoraden.

  1. Logga in på programservern som filsystemsägare.

  2. Byt till webbserverns dokumentkatalog eller en katalog som du har konfigurerat som ett virtuellt värddokument. I det här exemplet använder du CentOS-standardvärdet /usr/share/nginx/html.

    code language-bash
    cd /usr/share/nginx/html
    
  3. Installera Composer globalt. Composer krävs för att uppdatera beroenden innan Adobe Commerce installeras:

    code language-bash
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. Skapa ett Composer-projekt med Adobe Commerce metapaket.

    Magento Open Source

    code language-bash
    composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
    

    Adobe Commerce

    code language-bash
    composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
    

    Ange dina autentiseringsnycklar när du uppmanas till detta. Din offentliga nyckel är ditt användarnamn. Din privata nyckel är ditt lösenord.

  5. Ange läs- och skrivbehörighet för webbservergruppen innan du installerar programmet. Detta är nödvändigt för att kommandoraden ska kunna skriva filer till filsystemet.

    code language-bash
    cd /usr/share/nginx/html/<magento install directory>
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    
    code language-bash
    chown -R :nginx . # CentOS
    
    code language-bash
    chmod u+x bin/magento
    
  6. Installera från kommandoraden. I det här exemplet antas att installationskatalogen har namnet magento2ee och att databasvärden finns på samma dator (localhost):

    code language-bash
    bin/magento setup:install \
    --base-url=http://localhost/magento2ee \
    --db-host=localhost \
    --db-name=<db-name> \
    --db-user=<db-user> \
    --db-password=<db-password> \
    --backend-frontname=<backend-uri> \
    --admin-firstname=<admin-first-name> \
    --admin-lastname=<admin-last-name> \
    --admin-email=<admin-email> \
    --admin-user=<admin-user> \
    --admin-password=<admin-password> \
    --language=en_US \
    --currency=USD \
    --timezone=America/Chicago \
    --use-rewrites=1
    
  7. Växla till utvecklarläge:

    code language-bash
    cd /usr/share/nginx/html/magento2/bin
    
    code language-bash
    ./magento deploy:mode:set developer
    

Konfigurera Nginx

Vi rekommenderar att du konfigurerar Nginx med hjälp av filen nginx.conf.sample i installationskatalogen och med konfigurationen för det virtuella Nginx-värdsystemet.

IMPORTANT
Filen nginx.conf.sample innehåller nödvändiga programroutningsregler och säkerhetshärjande regler. Det begränsar till exempel körning av skadliga skript som överförts till servern. Om du inte använder den här filen eller ändrar dess regler, ansvarar du för att implementera likvärdiga säkerhetskontroller i din anpassade Nginx-konfiguration.

Dessa instruktioner förutsätter att du använder CentOS-standardplatsen för det virtuella Nginx-värdsystemet, till exempel /etc/nginx/conf.d, och standarddokumentroten, till exempel /usr/share/nginx/html. Du kan ändra de här platserna så att de passar din miljö.

  1. Skapa ett nytt virtuellt värdsystem för din plats:

    code language-bash
    vim /etc/nginx/conf.d/magento.conf
    
  2. Lägg till följande konfiguration:

    code language-conf
    upstream fastcgi_backend {
      server  unix:/run/php-fpm/php-fpm.sock;
    }
    
    server {
    
      listen 80;
      server_name www.magento-dev.com;
      set $MAGE_ROOT /usr/share/nginx/html/magento2;
      include /usr/share/nginx/html/magento2/nginx.conf.sample;
    }
    
    note note
    NOTE
    Direktivet include måste peka på exempelkonfigurationsfilen nginx i installationskatalogen.
  3. Ersätt www.magento-dev.com med ditt domännamn.

  4. Spara och avsluta redigeraren.

  5. Kontrollera att syntaxen är korrekt:

    code language-bash
    nginx -t
    
  6. Starta om Nginx:

    code language-bash
    systemctl restart nginx
    

Konfigurera SELinux och firewalld

SELinux är aktiverat som standard i CentOS 7. Använd följande kommando för att bekräfta att det körs:

sestatus

Så här konfigurerar du SELinux och firewall:

  1. Installera hanteringsverktygen för SELinux:

    code language-bash
    yum -y install policycoreutils-python
    
  2. Kör följande kommandon för att ändra säkerhetskontexten för installationskatalogen:

    code language-bash
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/app/etc(/.*)?'
    
    code language-bash
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/var(/.*)?'
    
    code language-bash
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/media(/.*)?'
    
    code language-bash
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/static(/.*)?'
    
    code language-bash
    restorecon -Rv '/usr/share/nginx/html/magento2/'
    
  3. Installera brandväggspaketet:

    code language-bash
    yum -y install firewalld
    
  4. Starta brandväggen och konfigurera den så att den startar vid start:

    code language-bash
    systemctl start firewalld
    
    code language-bash
    systemctl enable firewalld
    
  5. Kör följande kommandon för att öppna portar för HTTP och HTTPS så att du kan komma åt bas-URL:en från en webbläsare:

    code language-bash
    firewall-cmd --permanent --add-service=http
    
    code language-bash
    firewall-cmd --permanent --add-service=https
    
    code language-bash
    firewall-cmd --reload
    

Verifiera installationen

Kontrollera installationen genom att öppna en webbläsare och navigera till platsens bas-URL. Mer information finns i Verifiera installationen.

recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995