Postavite Magento 2 sa Redis, Varnish i Nginx kao SSL završetak

U ovom članku ćemo vam pokazati kako instalirati Magento 2 na Ubuntu 16.04 VPS sa MariaDB, PHP-FPM 7.0, Varnish kao cjelokupni keš, Nginx kao SSL terminacija i Redis za skladištenje sesija i keširanje stranica. Ovaj vodič bi trebao raditi i na drugim Linux VPS sistemima, ali je bio testiran i napisan za Ubuntu 16.04 VPS.

Prijavite se na VPS putem SSH-a

ssh my_sudo_user @ moj_server

Ažurirajte sistem i instalirajte neophodne pakete

sudo apt-get update && sudo apt-get -y nadogradnja sudo apt-get -y install curl nano git

Instalirajte MariaDB 10.0

Instalirajte najnoviji MariaDB 10.0 server iz zvaničnih Ubuntu repozitorija:

sudo apt-get install -y mariadb-server

Kada je instalacija završena, pokrenite sledeću komandu da biste osigurali svoju instalaciju:

mysql_secure_installation

Zatim, potrebno je kreirati bazu podataka za našu instalaciju Magento.

mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE magento; MariaDB [(none)]> GRANT SVE PRIVILEGIJE NA MAGENTU. * TO 'magento' @ 'localhost' IDENTIFIED BY 'my_strong_password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(nema)]> q

Instalirajte PHP 7.0, kompozitore i sve potrebne PHP module

Da biste instalirali najnoviju stabilnu verziju PHP 7.0-a i sve potrebne module, pokrenite:

sudo apt-get -y instalirati php-fpm php-cli php-gd php-imagick php-mysql php-mcrypt php-pear php-php-php-php php-php php-php

Promenite nekoliko podrazumevanih PHP postavki:

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 = on /" /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

Composer je menadžer zavisnosti za PHP sa kojim možete instalirati pakete. Kompozitor će se uključiti u sve potrebne biblioteke i zavisnosti koje su vam potrebne za vaš projekat.

curl -s https://getcomposer.org/installer | php sudo mv composer.phar / usr / local / bin / kompozitor

Instalirajte Magento 2 iz Github-a

Klonite Magento repozitorij na ~ / myMagentoSite.com direktorijum koristeći sledeću naredbu:

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

Uzmite najnovije stabilno izdanje, u vrijeme pisanja je Magento 2.1.2:

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

Pokrenite kompozitora da biste instalirali sve Magento zavisnosti:

sudo kompozitor instalirati

Da biste nastavili sa instalacijom, možete ili koristiti čarobnjaka za instalaciju ili komandnu liniju, u ovom vodiču ćemo koristiti drugu.

sudo bin / magento setup: install - baza-url = http: //myMagentoSite.com/ --db-host = localhost --db-name = magento -db-user = magento --db-password = my_strong_password - -admin-firstname = Prvi --admin-lastname = Poslednji --admin-email=user@myMagentoSite.com --admin-user = admin --admin-password = my_strong_password123 --language = sr_ - currency = USD - timezone = Amerika / Čikago --use-rewrites = 1

Ako je instalacija uspješna, videćete nešto slično:

[SUCCESS]: Ugrađena Magento instalacija. [SUCCESS]: Magento Admin URI: / admin_mejj1n

Pokrenite crontab narediti da kreirate cronjob

crontab -u www-podaci-e

i dodajte sledeću liniju:

* * * * * / usr / bin / php /var/www/myMagentoSite.com/bin/magento cron: run | grep -v "Pokrenuli posao po planu" >> /var/www/myMagentoSite.com/var/log/magento.cron.log

Na kraju, postavite ispravne dozvole:

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

Instalirajte i konfigurišite Nginx

Instalirajte Nginx iz zvaničnih Ubuntu repozitorija ::

sudo apt-get -y instaliraj nginx

Kreirajte novi Nginx server blok sa sljedećim sadržajem:

sudo nano /etc/nginx/sites-available/myMagentoSite.com
upstream fastcgi_backend {server unix: /run/php/php7.0-fpm.sock; } server {server_name myMagentoSite.com www.myMagentoSite.com; slušaj 80; postavite $ MAGE_ROOT /var/www/myMagentoSite.com; postavite $ MAGE_MODE programera; # ili proizvodnja access_log /var/log/nginx/myMagentoSite.com-access.log; error_log /var/log/nginx/myMagentoSite.com-error.log; uključi /var/www/myMagentoSite.com/nginx.conf.sample; }

Aktivirajte blok servera tako što ćete kreirati simboličku vezu:

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

Brisanje podrazumevane konfiguracije:

sudo rm -f / etc / nginx / ugrađeni sajtovi / podrazumevani

Testirajte Nginx konfiguraciju i restartujte nginx:

sudo nginx -t sudo servis nginx restart

Sada bi trebalo da se prijavite na svoj Magento back-end tako što ćete ići http://myMagentoSite.com/admin_mejj1n koristeći informacije koje ste postavili prilikom pokretanja bin / magento setup: instalirati .

Instalirajte i konfigurirajte Laki

Instaliranje laka je jednostavno kao pokretanje sledeće naredbe:

sudo apt-get instalirati lak

Od vas administratorska tabla Magento Admin klikom na link STORES (lijeva bočna traka) -> Konfiguracija -> ADVANCED -> Sistem -> Cache Cache
Neizabrani Koristi vrednost sistema i sa liste aplikacija Caching, izaberite Varni keš (preporučuje se), sačuvajte konfiguraciju, kliknite na vezu Konfiguracija laka i kliknite na Export VCL za dugme Varenje 4. The varnish.vcl fajl koji ćemo koristiti će se izvoziti u /var/www/myMagentoSite.com/var/ direktorij.

Isperite Magento keš memoriju pomoću:

sudo php bin / magento keš: flush

Obrišite /etc/varnish/default.vcl i povezati ga sa konfiguracijom izvezenog laka.

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

Da promenimo port laka sa 6081-a na 80, moramo urediti sistemsku konfiguraciju usluge.

Kreirajte novu customexec.conf fajl

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

nalepite sledeće:

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

i ponovo stavite sistemske jedinice

sudo sistemctl daemon-reload

Sada moramo da promenimo Nginx port za slušanje od 80-a do 8080-a i omogućimo Nginx SSL terminaciju sa HTTP2-om, da bi to otvorili konfiguracionu datoteku Nginx i promijenili je na sledeći način:

sudo nano /etc/nginx/sites-available/myMagentoSite.com
upstream fastcgi_backend {server unix: /run/php/php7.0-fpm.sock; } server {server_name myMagentoSite.com www.myMagentoSite.com; slušaj 8080; postavite $ MAGE_ROOT /var/www/myMagentoSite.com; postaviti $ MAGE_MODE proizvodnju; # ili developer access_log /var/log/nginx/myMagentoSite.com-access.log; error_log /var/log/nginx/myMagentoSite.com-error.log; uključi /var/www/myMagentoSite.com/nginx.conf.sample; } server {slušati 443 ssl http2; server_name myMagentoSite.com www.myMagentoSite.com; ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; # promijenite sa SSL sertifikatom ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; # promijenite s vašim SSL ključem ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'AES128 + EECDH: AES128 + EDH:! aNULL'; ssl_session_cache deli: SSL: 10m; ssl_session_timeout 24h; keepalive_timeout 300s; lokacija / {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 $ remote_addr; proxy_set_header X-Forwarded-Za $ proxy_add_x_forwarded_for; proxy_set_header Ssl-Offloaded "1"; #proxy_hide_header X-Varnish; #proxy_hide_header Via; proxy_set_header X-Forwarded-Proto $ šema; }}

Ako već nemate SSL sertifikat, možete kupiti pouzdani SSL sertifikat OVDJE.

Restart Lak i Nginx:

sudo systemctl restart nginx sudo systemctl restart lak

Promenite osnovni url na https i ispraznite keš

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

Ako je sve ispravno podešeno sada, trebalo bi da budete u mogućnosti da se prijavite na svoj Magento back-end tako što ćete ići https://myMagentoSite.com/admin_mejj1n.

Instalirajte i konfigurišite keširanje Redisa

Redis je ključna vrijednost u memoriji podataka o memoriji i mi ćemo ga koristiti kako bi zamijenili zadani keš memorije Magento 2 Zend_Cache_Backend_File. Instalirajte Redis tako što ćete pokrenuti sljedeću naredbu:

apt-get instalirati php-redis redis-server

Da biste konfigurisali svoju instalaciju Magento da biste koristili Redis za skladištenje sesija, otvorite app / etc / env.php datoteku i promenite / dodajte sledeće:

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

promjena:

  'session' => array ('save' => 'datoteke',),

sa:

'session' => array ('save' => 'redis', 'redis' => array ('host' => '127.0.0.1', 'port' => '6379', 'password' => '' timeout '=>' 2.5 ',' persistent_identifier '=>' ',' database '=>' 0 ',' compression_threshold '=>' 2048 ',' compression_library '=>' gzip ',' log_level '=>' 1 ',' max_concurrency '=>' 6 ',' break_after_frontend '=>' 5 ',' break_after_adminhtml '=>' 30 ',' first_lifetime '=>' 600 ',' bot_first_lifetime '=>' 60 ',' bot_lifetime ' => '7200', 'disable_locking' => '0', 'min_lifetime' => '60', 'max_lifetime' => '2592000'))

i da koristite Redis za dodavanje keša stranica:

'backend' => array ('server' => '127.0.0.1', 'port' => > '6379'),), 'page_cache' => array ('backend' => 'Cm_Cache_Backend_Redis', 'backend_options' => array ('server' => '127.0.0.1', 'port' => '6379' database '=>' 1 ',' compress_data '=>' 0 ')))),

Na kraju ponovo ispraznite keš memoriju:

sudo php bin / magento keš: flush

Dalja optimizacija

Da biste dodatno optimizirali instalaciju Magento od vas Magento admin dashboard:

1. Idite na STOROVE -> Konfiguracija -> KATALOG -> Katalog -> Koristite Katalog Katalog Katalog, izaberite Da i kliknite Sačuvaj Konfig.
2. Idite na STOROVE -> Konfiguracija -> ADVANCED -> Razvijač -> Podešavanja JavaScript-a i postavite oboje Merge JavaScript datoteke i Miniziraj JavaScript datoteke na Da i kliknite Save Config ..
3. Idite na STOROVE -> Konfiguracija -> ADVANCED -> Programer -> CSS postavke i podesite Objediniti CSS datoteke i Miniziraj CSS datoteke na Da i kliknite Sačuvaj konfiguraciju.
4. Uzmite u obzir korištenje CDN - Content Delivery Network mreže

Ne zaboravite da ispraznite keš memoriju:

sudo php bin / magento keš: flush

To je to. Magento 2 ste uspešno instalirali sa Redis-om kao skladištenjem sesije i keširanjem stranica, Lakiranjem kao cjelovito keširanje stranica i Nginx-om kao SSL završavanje na vašem Ubuntu 16.04 VPS. Za više informacija o upravljanju vašom instalacijom Magento, obratite se zvaničniku Magento dokumentacija.

izvor

Ostavite odgovor

Ova stranica koristi Akismet kako bi smanjila neželjenu poštu. Saznajte kako se podaci vašeg komentara obrađuju.