Nginx
Gemaakt voor:
- Ervaren
- Beheerder
- Ontwikkelaar
Adobe Commerce steunt nginx 1.x (of de recentste belangrijkste belangrijkste versie). U moet ook de nieuwste versie van php-fpm
installeren.
De installatie-instructies variëren afhankelijk van het besturingssysteem dat u gebruikt. Zie PHPvoor informatie.
Ubuntu
In de volgende sectie wordt beschreven hoe u Adobe Commerce 2.x op Ubuntu kunt installeren met nginx, PHP en MySQL.
Nginx installeren
sudo apt -y install nginx
U kunt ook bouwen nginx van bron
Na de voltooiing van de volgende secties en het installeren van de toepassing, zullen wij een dossier van de steekproefconfiguratie gebruiken om te vormen nginx.
Pfp-fpm installeren en configureren
Adobe Commerce vereist verscheidene PHP uitbreidingenom 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:
-
Installeren
php-fpm
enphp-cli
:apt-get -y install php7.2-fpm php7.2-cli
OPMERKING
Deze opdracht installeert de nieuwste beschikbare versie van PHP 7.2.X. Zie systeemvereistenvoor gesteunde PHP versies. -
Open de
php.ini
bestanden in een editor:vim /etc/php/7.2/fpm/php.ini
vim /etc/php/7.2/cli/php.ini
-
Bewerk beide bestanden om deze af te stemmen op de volgende regels:
memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
OPMERKING
We raden u aan de geheugenlimiet in te stellen op 2 G wanneer u Adobe Commerce test. Verwijs naar Vereiste PHP montagesvoor meer informatie. -
Sla de editor op en sluit deze af.
-
Start de service
php-fpm
opnieuw:systemctl restart php7.2-fpm
MySQL installeren en configureren
Verwijs naar MySQLvoor meer informatie.
Installeren en configureren
U kunt Adobe Commerce op verschillende manieren downloaden, waaronder:
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
.cd /var/www/html
-
Composer wereldwijd installeren. Composer moet afhankelijkheden bijwerken voordat Adobe Commerce kan worden geïnstalleerd:
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
composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
Adobe Commerce
composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
Wanneer ertoe aangezet, ga uw authentificatietoetsenin. 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.
cd /var/www/html/<magento install directory>
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data . # Ubuntu
chmod u+x bin/magento
-
Installeer van de bevellijn. In dit voorbeeld wordt ervan uitgegaan dat de installatiemap de naam
magento2ee
heeft,db-host
zich op dezelfde computer bevindt (localhost
) endb-name
,db-user
endb-password
allemagento
zijn:bin/magento setup:install \ --base-url=http://localhost/magento2ee \ --db-host=localhost \ --db-name=magento \ --db-user=magento \ --db-password=magento \ --backend-frontname=admin \ --admin-firstname=admin \ --admin-lastname=admin \ --admin-email=admin@admin.com \ --admin-user=admin \ --admin-password=admin123 \ --language=en_US \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1 \ --search-engine=elasticsearch7 \ --elasticsearch-host=es-host.example.com \ --elasticsearch-port=9200
-
Overschakelen naar de modus Ontwikkelaar:
cd /var/www/html/magento2/bin
./magento deploy:mode:set developer
Nginx configureren
We raden u aan om nginx te configureren met behulp van het configuratiebestand van nginx.conf.sample
dat beschikbaar is in de installatiemap en de virtuele nginx-host.
In deze instructies wordt ervan uitgegaan dat u de standaardlocatie Ubuntu voor de virtuele nginx-host (bijvoorbeeld /etc/nginx/sites-available
) en de standaarddocroot Ubuntu (bijvoorbeeld /var/www/html
) gebruikt, maar u kunt deze locaties aanpassen aan uw omgeving.
-
Maak een nieuwe virtuele host voor uw site:
vim /etc/nginx/sites-available/magento
-
Voeg de volgende configuratie toe:
upstream fastcgi_backend { server unix:/run/php/php7.2-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
De instructieinclude
moet verwijzen naar het voorbeeldconfiguratiebestand voor nginx in de installatiemap. -
Vervang
www.magento-dev.com
door 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
:ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled
-
Controleer of de syntaxis correct is:
nginx -t
-
Nginx opnieuw starten:
systemctl restart nginx
De installatie controleren
Open Webbrowser en navigeer aan basis URL van uw plaats om de installatiete verifiëren.
CentOS 7
In de volgende sectie wordt beschreven hoe u Adobe Commerce 2.x op CentOS 7 kunt installeren 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
Na de voltooiing van de volgende secties en het installeren van de toepassing, zullen wij een dossier van de steekproefconfiguratie gebruiken om nginx te vormen.
Pfp-fpm installeren en configureren
Adobe Commerce vereist verscheidene PHPuitbreidingen om behoorlijk te functioneren. Naast deze extensies moet u ook de extensie php-fpm
installeren en configureren als u nginx gebruikt.
-
Installeren
php-fpm
:yum -y install php70w-fpm
-
Open het
/etc/php.ini
-bestand in een editor. -
Verwijder de commentaarmarkering van de regel
cgi.fix_pathinfo
en wijzig de waarde in0
. -
Bewerk het bestand zodat dit overeenkomt met de volgende regels:
memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
NOTE
We raden u aan de geheugenlimiet in te stellen op 2 G wanneer u Adobe Commerce test. Verwijs naar Vereiste PHP montagesvoor meer informatie. -
Verwijder de commentaarmarkering van de map met het sessiepad en stel het pad in:
session.save_path = "/var/lib/php/session"
-
Sla de editor op en sluit deze af.
-
Open
/etc/php-fpm.d/www.conf
in een editor. -
Bewerk het bestand zodat dit overeenkomt met de volgende regels:
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:
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
apache
user and group:mkdir -p /var/lib/php/session/
chown -R apache:apache /var/lib/php/
-
Maak een map voor het PHP-sessiepad en wijzig de eigenaar in
apache
user and group:mkdir -p /run/php-fpm/
chown -R apache:apache /run/php-fpm/
-
Start de
php-fpm
-service en configureer deze zo dat deze op het moment van opstarten start:systemctl start php-fpm
systemctl enable php-fpm
-
Controleer of de service
php-fpm
wordt uitgevoerd:netstat -pl | grep php-fpm.sock
MySQL installeren en configureren
Verwijs naar MySQLvoor meer informatie.
Installeren en configureren
U kunt de Adobe Commerce op verschillende manieren downloaden, waaronder:
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
.cd /var/www/html
-
Composer wereldwijd installeren. Composer moet afhankelijkheden bijwerken voordat Adobe Commerce kan worden geïnstalleerd:
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
composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
Adobe Commerce
composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
Wanneer ertoe aangezet, ga uw authentificatietoetsenin. 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.
cd /var/www/html/<magento install directory>
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data . # Ubuntu
chmod u+x bin/magento
-
Installeer van de bevellijn. In dit voorbeeld wordt ervan uitgegaan dat de installatiemap de naam
magento2ee
heeft,db-host
zich op dezelfde computer bevindt (localhost
) endb-name
,db-user
endb-password
allemagento
zijn:bin/magento setup:install \ --base-url=http://localhost/magento2ee \ --db-host=localhost \ --db-name=magento \ --db-user=magento \ --db-password=magento \ --backend-frontname=admin \ --admin-firstname=admin \ --admin-lastname=admin \ --admin-email=admin@admin.com \ --admin-user=admin \ --admin-password=admin123 \ --language=en_US \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1
-
Overschakelen naar de modus Ontwikkelaar:
cd /var/www/html/magento2/bin
./magento deploy:mode:set developer
Nginx configureren
We raden u aan om nginx te configureren met behulp van het configuratiebestand van nginx.conf.sample
dat beschikbaar is in de installatiemap en de virtuele nginx-host.
In deze instructies wordt ervan uitgegaan dat u de standaardlocatie van CentOS voor de virtuele nginx-host (bijvoorbeeld /etc/nginx/conf.d
) en de standaarddocroot (bijvoorbeeld /usr/share/nginx/html
) gebruikt, maar u kunt deze locaties aanpassen aan uw omgeving.
-
Maak een nieuwe virtuele host voor uw site:
vim /etc/nginx/conf.d/magento.conf
-
Voeg de volgende configuratie toe:
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
De instructieinclude
moet verwijzen naar het voorbeeldconfiguratiebestand voor nginx in de installatiemap. -
Vervang
www.magento-dev.com
door uw domeinnaam. -
Sla de editor op en sluit deze af.
-
Controleer of de syntaxis correct is:
nginx -t
-
Nginx opnieuw starten:
systemctl restart nginx
SELinux en Firewalld configureren
SELinux is standaard ingeschakeld in CentOS 7. Gebruik het volgende bevel om te zien of loopt het:
sestatus
Om SELinux en firewalld te vormen:
-
SELinux-beheertools installeren:
yum -y install policycoreutils-python
-
Voer de volgende opdrachten uit om de beveiligingscontext voor de installatiemap te wijzigen:
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/app/etc(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/var(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/media(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/static(/.*)?'
restorecon -Rv '/usr/share/nginx/html/magento2/'
-
Installeer het firewalld-pakket:
yum -y install firewalld
-
Start de firewallservice en configureer deze zo dat deze op het moment van opstarten start:
systemctl start firewalld
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:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
De installatie controleren
Open Webbrowser en navigeer aan basis URL van uw plaats om de installatiete verifiëren.