Nginx installeren voor implementaties op locatie nginx
Deze gids begeleidt u door het installeren van Nginx voor Adobe Commerce op-gebouw plaatsingen en het vormen van de montages van Nginx die Commerce vereist. Het bevat besturingssysteemspecifieke procedures voor Ubuntu en CentOS, samen met richtlijnen voor het configureren van PHP-FPM. Adobe raadt u aan de configuratie-instructies in deze handleiding op te volgen om zowel de functionaliteit als de beveiliging van de Commerce-toepassing te behouden.
Adobe steunt de versies van Nginx die in de systeemvereisten voor uw versie van Adobe Commerce worden vermeld. Ondersteunde versies verschillen per release. Nginx vereist ook een ondersteunde PHP-FPM configuratie. Voor verwante PHP vereisten, zie PHP .
Installeren op Ubuntu
Gebruik deze sectie om Adobe Commerce op Ubuntu met Nginx, PHP en MySQL te installeren.
Nginx installeren
sudo apt -y install nginx
U kunt ook Nginx van bron bouwen.
Nadat u de volgende secties voltooit en de toepassing installeert, gebruik het dossier van de steekproefconfiguratie om te vormen Nginx . Bij deze aanbevolen configuratie blijven zowel de functionaliteit als de beveiliging van de Commerce-toepassing behouden.
PHP-FPM installeren en configureren
Adobe Commerce vereist verscheidene PHP uitbreidingen om behoorlijk te functioneren. Naast deze extensies moet u ook de extensie php-fpm installeren en configureren als u Nginx gebruikt.
U installeert en configureert php-fpm als volgt:
-
Installeer de pakketten
php-fpmenphp-clivoor de PHP-versie die door de Adobe Commerce-versie wordt ondersteund. Bij Ubuntu volgen de pakketnamen doorgaans het volgende patroon:code language-bash apt-get -y install php<php-version>-fpm php<php-version>-clinote note NOTE Vervang <php-version>met gesteunde PHP minder belangrijke die versie in systeemvereisten voor de versie van Adobe Commerce wordt vermeld u installeert. Gebruik in de volgende stappen dezelfde waarde in de bestandspaden, de servicenaam en het socketpad. -
Open de
php.inibestanden in een editor:code language-bash vim /etc/php/<php-version>/fpm/php.inicode language-bash vim /etc/php/<php-version>/cli/php.ini -
Bewerk beide bestanden om deze af te stemmen op de volgende regels:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = Onnote note NOTE Adobe raadt u aan de geheugenlimiet in te stellen op 2 GB wanneer u Adobe Commerce test. Verwijs naar Vereiste PHP montages voor meer informatie. -
Sla de editor op en sluit deze af.
-
Start de service
php-fpmopnieuw:code language-bash systemctl restart php<php-version>-fpm
MySQL installeren en configureren
Verwijs naar MySQL voor meer informatie.
Adobe Commerce installeren
U kunt Adobe Commerce op verschillende manieren downloaden:
In dit voorbeeld ziet u een op composers gebaseerde installatie die de opdrachtregel gebruikt.
-
Als eigenaar van het dossiersysteem , login aan uw toepassingsserver.
-
Wijzig de hoofdmap van de webserver of een map die u hebt geconfigureerd als een virtueel hoofddocument van de host. In dit voorbeeld gebruiken we de standaardinstelling Ubuntu
/var/www/html.code language-bash cd /var/www/html -
Composer wereldwijd installeren. Composer moet afhankelijkheden bijwerken voordat Adobe Commerce kan worden geïnstalleerd:
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer -
Maak een Composer-project met het Adobe Commerce-metapakket.
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>Wanneer ertoe aangezet, ga uw authentificatietoetsen in. Uw openbare sleutel is uw gebruikersbenaming; uw privé sleutel is uw wachtwoord.
-
Stel lees- en schrijfmachtigingen in voor de webservergroep voordat u de toepassing installeert. Dit is nodig, zodat de opdrachtregel bestanden naar het bestandssysteem kan schrijven.
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 . # Ubuntucode language-bash chmod u+x bin/magento -
Installeer van de bevellijn . In dit voorbeeld wordt ervan uitgegaan dat de installatiemap
magento2eeheet en dat de databasehost zich op dezelfde computer bevindt (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>=9200note note NOTE Gebruik de --search-engine-waarde en overeenkomende host-/poortopties die zijn vereist voor de Adobe Commerce-release die u installeert. Voor versies ouder dan 2.4.6 gebruikt uelasticsearch7met de--elasticsearch-*-opties voor Elasticsearch 7 of OpenSearch. Voor versie 2.4.6 en later, gebruik de waarde van de onderzoeksmotor en de overeenkomstige CLI opties die door die versie worden gesteund. -
Overschakelen naar de modus Ontwikkelaar:
code language-bash cd /var/www/html/magento2/bincode language-bash ./magento deploy:mode:set developer
Nginx configureren
Adobe raadt u aan om Nginx te configureren met behulp van het nginx.conf.sample -configuratiebestand in de installatiemap en uw Nginx Virtual Host-configuratie, zodat zowel de functionaliteit als de beveiliging van de Commerce-toepassing behouden blijven.
nginx.conf.sample dossier verstrekt vereiste toepassing verpletterend evenals veiligheid-verhardende regels. Het beperkt bijvoorbeeld de uitvoering van schadelijke scripts die naar de server worden geüpload. Als u dit dossier niet gebruikt of zijn regels wijzigt, bent u verantwoordelijk voor het uitvoeren van gelijkwaardige veiligheidscontroles in uw configuratie van douanenx.In deze instructies wordt ervan uitgegaan dat u de standaardlocatie Ubuntu voor de virtuele Nginx-host gebruikt, zoals /etc/nginx/sites-available , en de standaarddocroot Ubuntu, zoals /var/www/html . U kunt deze locaties aanpassen aan uw omgeving.
-
Maak een nieuwe virtuele host voor uw site:
code language-bash vim /etc/nginx/sites-available/magento -
Voeg de volgende configuratie toe:
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 De instructie includemoet verwijzen naar het voorbeeldconfiguratiebestand voor nginx in de installatiemap. -
Vervang
www.magento-dev.comdoor uw domeinnaam. Dit moet overeenkomen met de basis-URL die u hebt opgegeven bij de installatie van Adobe Commerce. -
Sla de editor op en sluit deze af.
-
Activeer de nieuwe virtuele host door er een symlink naar te maken in de map
/etc/nginx/sites-enabled:code language-bash ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled -
Controleer of de syntaxis correct is:
code language-bash nginx -t -
Nginx opnieuw starten:
code language-bash systemctl restart nginx
De installatie controleren
Als u de installatie wilt controleren, opent u een webbrowser en navigeert u naar de basis-URL van uw site. Voor meer informatie, zie de installatie verifiëren.
Installeren op CentOS 7
Gebruik deze sectie om Adobe Commerce te installeren op CentOS 7 met Nginx, PHP en MySQL.
Nginx installeren
yum -y install epel-release
yum -y install nginx
Start nginx nadat de installatie is voltooid en configureer deze om te starten op het moment van opstarten:
systemctl start nginx
systemctl enable nginx
Nadat u de volgende secties voltooit en de toepassing installeert, gebruik een dossier van de steekproefconfiguratie om Nginx te vormen.
PHP-FPM installeren en configureren
Adobe Commerce vereist verscheidene PHP uitbreidingen om behoorlijk te functioneren. Naast deze extensies moet u ook de extensie php-fpm installeren en configureren als u Nginx gebruikt.
-
Installeren
php-fpm:code language-bash yum -y install <php-fpm-package> -
Open het
/etc/php.ini-bestand in een editor.note note NOTE Installeer het pakket met php-fpmde PHP-versie die wordt ondersteund door de Adobe Commerce-versie die u installeert. Pakketnamen variëren per opslagplaats en besturingssysteem. Zie systeemvereisten . -
Verwijder de commentaarmarkering van de regel
cgi.fix_pathinfoen wijzig de waarde in0. -
Bewerk het bestand zodat dit overeenkomt met de volgende regels:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = Onnote note NOTE Adobe raadt u aan de geheugenlimiet in te stellen op 2 GB wanneer u Adobe Commerce test. Verwijs naar Vereiste PHP montages voor meer informatie. -
Verwijder de commentaarmarkering van de map met het sessiepad en stel het pad in:
code language-conf session.save_path = "/var/lib/php/session" -
Sla de editor op en sluit deze af.
-
Open
/etc/php-fpm.d/www.confin een editor. -
Bewerk het bestand zodat dit overeenkomt met de volgende regels:
code language-conf user = nginx group = nginx listen = /run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660 -
Verwijder de commentaarmarkering van de omgevingsregels:
code language-conf env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp -
Sla de editor op en sluit deze af.
-
Maak een map voor het PHP-sessiepad en wijzig de eigenaar in
nginxuser and group:code language-bash mkdir -p /var/lib/php/session/code language-bash chown -R nginx:nginx /var/lib/php/ -
Maak een directory voor de PHP-FPM socket en verander de eigenaar in de
nginxuser and group:code language-bash mkdir -p /run/php-fpm/code language-bash chown -R nginx:nginx /run/php-fpm/ -
Start de
php-fpm-service en configureer deze zo dat deze op het moment van opstarten start:code language-bash systemctl start php-fpmcode language-bash systemctl enable php-fpm -
Controleer of de service
php-fpmwordt uitgevoerd:code language-bash netstat -pl | grep php-fpm.sock
MySQL installeren en configureren
Verwijs naar MySQL voor meer informatie.
Adobe Commerce installeren
U kunt Adobe Commerce op verschillende manieren downloaden:
In dit voorbeeld ziet u een op composers gebaseerde installatie die de opdrachtregel gebruikt.
-
Als eigenaar van het dossiersysteem , login aan uw toepassingsserver.
-
Wijzig de hoofdmap van de webserver of een map die u hebt geconfigureerd als een virtueel hoofddocument van de host. In dit voorbeeld gebruikt u de CentOS-standaardinstelling
/usr/share/nginx/html.code language-bash cd /usr/share/nginx/html -
Composer wereldwijd installeren. Composer moet afhankelijkheden bijwerken voordat Adobe Commerce kan worden geïnstalleerd:
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer -
Maak een Composer-project met het Adobe Commerce-metapakket.
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>Wanneer ertoe aangezet, ga uw authentificatietoetsen in. Uw openbare sleutel is uw gebruikersbenaming; uw privé sleutel is uw wachtwoord.
-
Stel lees- en schrijfmachtigingen in voor de webservergroep voordat u de toepassing installeert. Dit is nodig, zodat de opdrachtregel bestanden naar het bestandssysteem kan schrijven.
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 . # CentOScode language-bash chmod u+x bin/magento -
Installeer van de bevellijn . In dit voorbeeld wordt ervan uitgegaan dat de installatiemap
magento2eeheet en dat de databasehost zich op dezelfde computer bevindt (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 -
Overschakelen naar de modus Ontwikkelaar:
code language-bash cd /usr/share/nginx/html/magento2/bincode language-bash ./magento deploy:mode:set developer
Nginx configureren
We raden u aan om Nginx te configureren met behulp van het nginx.conf.sample -bestand in de installatiemap en uw Nginx virtuele hostconfiguratie.
nginx.conf.sample dossier verstrekt vereiste toepassing verpletterend evenals veiligheid-verhardende regels. Het beperkt bijvoorbeeld de uitvoering van schadelijke scripts die naar de server worden geüpload. Als u dit dossier niet gebruikt of zijn regels wijzigt, bent u verantwoordelijk voor het uitvoeren van gelijkwaardige veiligheidscontroles in uw configuratie van douanenx.In deze instructies wordt ervan uitgegaan dat u de standaardlocatie van CentOS voor de virtuele Nginx-host gebruikt, zoals /etc/nginx/conf.d , en de standaarddocroot, zoals /usr/share/nginx/html . U kunt deze locaties aanpassen aan uw omgeving.
-
Maak een nieuwe virtuele host voor uw site:
code language-bash vim /etc/nginx/conf.d/magento.conf -
Voeg de volgende configuratie toe:
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 De instructie includemoet verwijzen naar het voorbeeldconfiguratiebestand voor nginx in de installatiemap. -
Vervang
www.magento-dev.comdoor uw domeinnaam. -
Sla de editor op en sluit deze af.
-
Controleer of de syntaxis correct is:
code language-bash nginx -t -
Nginx opnieuw starten:
code language-bash systemctl restart nginx
SELinux en firewalld configureren
SELinux is standaard ingeschakeld in CentOS 7. Gebruik de volgende opdracht om te bevestigen dat deze wordt uitgevoerd:
sestatus
Om SELinux en firewalld te vormen:
-
SELinux-beheertools installeren:
code language-bash yum -y install policycoreutils-python -
Voer de volgende opdrachten uit om de beveiligingscontext voor de installatiemap te wijzigen:
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/' -
Installeer het firewalld-pakket:
code language-bash yum -y install firewalld -
Start de firewallservice en configureer deze zo dat deze op het moment van opstarten start:
code language-bash systemctl start firewalldcode language-bash systemctl enable firewalld -
Voer de volgende opdrachten uit om poorten voor HTTP en HTTPS te openen, zodat u de basis-URL vanuit een webbrowser kunt openen:
code language-bash firewall-cmd --permanent --add-service=httpcode language-bash firewall-cmd --permanent --add-service=httpscode language-bash firewall-cmd --reload
De installatie controleren
Als u de installatie wilt controleren, opent u een webbrowser en navigeert u naar de basis-URL van uw site. Voor meer informatie, zie de installatie verifiëren.