<link href = "// fonts.googleapis.com/css?family=Roboto+Slab:700%7CRoboto:700%7CRoboto:normal" rel = "stylesheet">

Nastavte Magento 2 s Redis, Varnish a Nginx jako ukončení SSL

V tomto článku vám ukážeme, jak nainstalovat Magento 2 na Ubuntu 16.04 VPS s MariaDB, PHP-FPM 7.0, Lakem jako cache celé stránky, Nginx jako SSL a Redis pro ukládání relací a ukládání do mezipaměti. Tato příručka by měla fungovat i na jiných systémech Linux VPS, ale byla testována a napsána na Ubuntu 16.04 VPS.

Přihlaste se do svého VPS přes SSH

ssh my_sudo_user @ my_server

Aktualizujte systém a nainstalujte potřebné balíčky

sudo apt-get aktualizace && sudo apt-get -y upgrade sudo apt-get -y instalace curl nano git

Nainstalujte službu MariaDB 10.0

Nainstalujte nejnovější server MariaDB 10.0 z oficiálních repozitářů Ubuntu:

sudo apt-get nainstalovat -y mariadb-server

Po dokončení instalace spusťte následující instalaci zabezpečení:

mysql_secure_installation

Dále musíme vytvořit databázi pro naši instalaci Magento.

mysql -uroot -p
MariaDB [(žádná)]> CREATE DATABASE magento; MariaDB [(none)]> GRANT VŠECHNY PRIVILEGES NA magento. * TO 'magento' @ 'localhost' IDENTIFIKOVANÝ pomocí 'my_strong_password'; MariaDB [(none)]> VÝCHODNÍ PRIVILEGES; MariaDB [(žádná)]> q

Nainstalujte PHP 7.0, skladatele a všechny potřebné PHP moduly

Chcete-li nainstalovat nejnovější stabilní verzi PHP 7.0 a všechny potřebné moduly, spusťte:

php-php-php-php-php-php-php-php-php-php-php-php-php-php-php-php-php-php-php php php php php

Změnit několik výchozích nastavení PHP:

sudo sed -i "s / memory_limit =. * / memory_limit = 256M /" /etc/php/7.0/fpm/php.ini sudo sed -i "s / upload_max_filesize =. * / upload_max_filesize = 128M /" / etc / php /7.0/fpm/php.ini sudo sed -i "s / zlib.output_compression =. * / Zlib.output_compression = na /" /etc/php/7.0/fpm/php.ini sudo sed -i "s / max_execution_time = . * / max_execution_time = 18000 / "/etc/php/7.0/fpm/php.ini

Skladatel je správce závislostí pro PHP, pomocí kterého můžete instalovat balíčky. Skladatel vytahuje všechny potřebné knihovny a závislosti, které potřebujete pro svůj projekt.

curl -sS https://getcomposer.org/installer | php sudo mv skladatel.phar / usr / local / bin / skladatel

Nainstalujte aplikaci Magento 2 od společnosti Github

Klonujte repozitář Magento na ~ / myMagentoSite.com pomocí následujícího příkazu:

sudo git https://github.com/magento/magento2.git /var/www/myMagentoSite.com

Získejte nejnovější stabilní verzi, v době psaní je to Magento 2.1.2:

cd /var/www/myMagentoSite.com
sudo git checkout $ (git popsat --tags $ (git rev-list --tags --max-count = 1))

Spusťte skladbu pro instalaci všech závislostí Magento:

sudo skladatel instalovat

Chcete-li pokračovat v instalaci, můžete použít průvodce instalací nebo příkazový řádek. V této příručce použijeme tuto instalaci.

sudo bin / magento nastavení: install --base-url = http: //myMagentoSite.com/ --db -host = localhost --db-name = magento --db-user = magento --db-password = my_strong_password - -admin-firstname = první --admin-lastname = poslední --admin-email=user@myMagentoSite.com --admin-user = admin --admin-password = my_strong_password123 --language = en_US - timezone = Amerika / Chicago - use-rewrites = 1

Pokud je instalace úspěšná, uvidíte něco podobného:

[SUCCESS]: Instalace Magento dokončena. [SUCCESS]: Magento admin URI: / admin_mejj1n

Spusťte crontab příkaz k vytvoření cronjob

crontab -u www-data -e

a přidejte následující řádek:

* * * * * / usr / bin / php /var/www/myMagentoSite.com/bin/magento cron: spustit | grep -v "Ukončení úloh podle plánu" >> /var/www/myMagentoSite.com/var/log/magento.cron.log

Nakonec nastavte správná oprávnění:

sudo chown -R www-data: /var/www/myMagentoSite.com

Nginx nainstalujte a nakonfigurujte

Nginx nainstalujte z oficiálních repozitářů Ubuntu ::

sudo apt-get -y nainstalovat nginx

Vytvořte nový blok serveru Nginx s následujícím obsahem:

sudo nano /etc/nginx/sites-available/myMagentoSite.com
upstream fastcgi_backend {server unix: /run/php/php7.0-fpm.sock; } server {název_serveru myMagentoSite.com www.myMagentoSite.com; poslouchat 80; nastavit $ MAGE_ROOT /var/www/myMagentoSite.com; nastavit $ MAGE_MODE vývojář; # nebo výroba access_log /var/log/nginx/myMagentoSite.com-access.log; error_log /var/log/nginx/myMagentoSite.com-error.log; zahrnout /var/www/myMagentoSite.com/nginx.conf.sample; }}

Aktivujte blok serveru vytvořením symbolického odkazu:

sudo ln -s /etc/nginx/sites-available/myMagentoSite.com /etc/nginx/sites-enabled/myMagentoSite.com

Odstranit výchozí konfiguraci:

sudo rm -f / etc / nginx / sites-enabled / výchozí

Otestujte konfiguraci Nginx a restartujte nginx:

sudo nginx -t sudo služba nginx restart

Nyní byste se měli přihlásit ke svému Magento back-end http://myMagentoSite.com/admin_mejj1n pomocí informací, které jste nastavili při spuštění bin / magento: instalace .

Nainstalujte a nastavte lak

Instalace laku je stejně jednoduchá jako spuštění následujícího příkazu:

sudo apt-get nainstalovat lak

Z panelu Magento Admin kliknete na odkaz STORES (levý postranní panel) -> Konfigurace -> POKROČILÉ -> Systém -> Celá stránka Cache
Nezaškrtnuto Použijte systémovou hodnotu a v seznamu Cachování aplikací vyberte Varnish Cache (doporučeno), uložte konfiguraci, klikněte na odkaz Varnish Configuration a klikněte na tlačítko Export VCL for Varnish 4. The lak.vcl soubor, který použijeme, bude exportován do souboru /var/www/myMagentoSite.com/var/ adresáře.

Vyčistěte vyrovnávací paměť Magento s:

sudo php bin / magento cache: flush

Odstranit /etc/varnish/default.vcl a symlink ji do exportované lakování konfigurace.

sudo rm -f /etc/varnish/default.vcl sudo ln -sf /var/www/myMagentoSite.com/var/varnish.vcl/etc/varnish/default.vcl

Chcete-li změnit port laku 6081 na 80, musíme upravit systémovou konfiguraci služby.

Vytvoř nový customexec.conf soubor

sudo mkdir -p /etc/systemd/system/varnish.service.d sudo nano /etc/systemd/system/varnish.service.d/customexec.conf

vložte následující:

[Service] ExecStart = ExecStart = / usr / sbin / varnishd -j unix, uživatel = vcache -F -a: 80 -T localhost: 6082 -f /etc/varnish/default.vcl -S / etc / s malloc, 256m

a znovu načíst systémové jednotky

sudo systemctl daemon-reload

Nyní musíme změnit port Nginx naslouchání z 80 na 8080 a povolit ukončení Nginx SSL s protokolem HTTP2. Tímto způsobem otevřete konfigurační soubor Nginx a změňte jej následovně:

sudo nano /etc/nginx/sites-available/myMagentoSite.com
upstream fastcgi_backend {server unix: /run/php/php7.0-fpm.sock; } server {název_serveru myMagentoSite.com www.myMagentoSite.com; poslouchat 8080; nastavit $ MAGE_ROOT /var/www/myMagentoSite.com; nastavit produkci $ MAGE_MODE; # nebo vývojář access_log /var/log/nginx/myMagentoSite.com-access.log; error_log /var/log/nginx/myMagentoSite.com-error.log; zahrnout /var/www/myMagentoSite.com/nginx.conf.sample; } server {poslech 443 ssl http2; název_serveru myMagentoSite.com www.myMagentoSite.com; ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; # změnit pomocí SSL cert ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; # změnit pomocí klíče SSL ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'AES128 + EECDH: AES128 + EDH:! aNULL'; sdílená ssl_session_cache: SSL: 10m; ssl_session_timeout 24h; keepalive_timeout 300; umístění / {proxy_pass http: // 127.0.0.1; proxy_set_header Host $ http_host; proxy_set_header X-Forwarded-Host $ http_host; proxy_set_header X-Real-IP $ vzdálený_addr; proxy_set_header X-Forwarded-Pro $ proxy_add_x_forwarded_for; proxy_set_header Ssl-Vypnuto "1"; #proxy_hide_header X-Lak; #proxy_hide_header Via; proxy_set_header Schéma X-Forwarded-Proto $; }}

Pokud ještě nemáte certifikát SSL, můžete si zakoupit důvěryhodný certifikát SSL zde.

Restartujte lak a Nginx:

sudo systémový restart nginx sudo systemctl restartování laku

Změňte adresu základny na https a vyprázdněte mezipaměť

sudo bin / magento nastavení: store-config: set - base-url = "https://myMagentoSite.com" sudo php bin / magento cache: flush

Pokud je vše správně nastaveno, měli byste se přihlásit ke svému Magento back-end https://myMagentoSite.com/admin_mejj1n.

Nainstalujte a konfigurujte mezipaměť Redis

Redis je klíčovou hodnotou v úložišti dat v paměti a použijeme ji k nahrazení výchozí mezipaměti záložní mezipaměti Magento 2 Zend_Cache_Backend_File. Nainstalujte Redis spuštěním následujícího příkazu:

apt-get nainstalovat php-redis redis-server

Chcete-li nakonfigurovat instalaci programu Magento tak, že použijete Redis pro úložiště relací, otevřete ji app / etc / env.php soubor a změňte / přidejte následující:

sudo nano /var/www/myMagentoSite.com/app/etc/env.php

změna:

  'session' => pole ('save' => 'soubory',),

s:

'' '' '' '' '' '' '' '' = ' time = 'xNUMX', 'compression_library' => 'gzip', 'log_level' => '127.0.0.1', ' ',' break_after_frontend '=>' 6379 ',' break_after_frontend '=>' 2.5 ',' first_lifetime ' => '0', 'disable_locking' => '2048', 'min_lifetime' => '1', 'max_lifetime' =>

a použít Redis pro ukládání do mezipaměti stránky přidat:

'cache' => array ('frontend' => array ('default' => array ('backend' => 'Cm_Cache_Backend_Redis', 'backend_options' => > '127.0.0.1', '6379', '' 127.0.0.1 ''), 'page_cache' => array ('backend' => 'Cm_Cache_Backend_Redis', 'backend_options' => databáze '=>' 6379 ',' compress_data '=>' 1 ')))),

Nakonec vymazat mezipaměť znovu:

sudo php bin / magento cache: flush

Další optimalizace

Chcete-li dále optimalizovat instalaci Magento od vás Magento admin dashboard:

1. Přejděte na STORES -> Konfigurace -> KATALOG -> Katalog -> Použití kategorie katalogu ploch, vyberte Ano a klepněte na Uložit konfiguraci.
2. Přejděte na STORES -> Konfigurace -> ADVANCED -> Developer -> Nastavení JavaScriptu a nastavte Sloučit soubory JavaScriptu a Minify soubory JavaScriptu na Ano a klikněte na Uložit konfiguraci.
3. Přejděte na položku STORES -> Konfigurace -> ADVANCED -> Developer -> Nastavení CSS a nastavte Soubory sloučení CSS a Minimalizovat soubory CSS na Ano a klepněte na Uložit konfiguraci.
4. Zvažte použití sítě CDN - Content Delivery Network

Nezapomeňte vyprázdnit mezipaměť:

sudo php bin / magento cache: flush

A je to. Úspěšně jste nainstalovali Magento 2 s Redis jako úložiště relací a ukládání do mezipaměti stránky, Varnish jako ukládání do mezipaměti celé stránky a Nginx jako ukončení SSL na vašem Ubuntu 16.04 VPS. Další informace o tom, jak spravovat vaši instalaci Magento, najdete na oficiálním webu Magento dokumentace.

Zdroj

Napsat komentář