Hosting Magento 2 – wstęp

W przypadku kiedy chcemy wdrożyć sklep internetowy na silniku Magneto 2 kwestia wyboru hostingu nie jest taka prosta jak w przypadku innych silników np. PrestaShop. O ile mogłoby się wydawać, że przecież PHP i MySQL można znaleźć wszędzie to wydajność takiego rozwiązania będzie bardzo niska. Winę na cały stan rzeczy pełni niestety Magento, które jest bardzo ciężkim silnikiem. Ale jednak są sklepy na Magento, które działają bardzo szybko. Czy potrzeba do tego wysoko wydajnych serwerów dedykowanych? Niekoniecznie

Na nasze szczęście Magento posiada mechanizmy cachowania, które znacząco przyśpieszają działanie sklepu, ale niestety nie znajdziemy ich na hostingach współdzielonych. Dzieje się tak ponieważ hostingi starają się być uniwersalne i nastawione na skrypty, które nie wymagają dedykowanych rozwiązań jak memcached, redis, varnish etc. Dostosowanie zwykłego hostingu do takich technologii byłoby dość ciężkie od strony technicznej, do tego nasuwa masę problemów bezpieczeństwa kiedy dzielimy jeden serwer na wielu klientów.

Na nasze szczęście istnieje technologia, która łączy zalety serwerów dedykowanych z niską ceną hostingu dzielonego. Ale do tego celu musimy skonfigurować serwer sami.

Przy wyborze dostawcy VPSu musimy jednak wziąć pod uwagę bardzo ważną rzecz. Magento jest bardzo wymagające pod względem dysku twardego. Jeżeli dostawca nie zapewnia nam dysków SSD lub NVMe to nie sensu rozważać takiego dostawcy. Zwykły dysk talerzowy HDD oferuje nam wydajność do 300 IOPS (operacji na sekundę). Nawet jeżeli dostawca mówi nam o macierzy HDD to nawet jak przemnożymy tą wartość przez ilość dysków (tego nam dostawca zazwyczaj nie mówi) to i tak dalekie jest to od wydajności nawet słabego dysku SSD (300 000-500 000 IOPS). I tak, nie pomyliłem tutaj ilości zer, różnica jest kolosalna. Czasami dostawca chwali się dyskami SSD, ale jak się je podzieli na ilość klientów podłączonej do macierzy to wydajność nie wypada wcale tak dobrze.

Czego i do czego będziemy potrzebowali na takim serwerze?

Hosting Magento 2 - nginx

serwer webowy, szybszy od apache. Standardowo nie obsługuje .htaccess, konfiguracja jest inna niż apache, ale Magento dostarcza nam przykładowe pliki konfiguracyjne (bardziej bezpieczne niż standardowa konfiguracja apache)

Hosting Magento 2 - mariadb, mysql

serwer bazodanowy. Tutaj nie ma różnicy między tym co potrzebujemy, a tym co oferują nam standardowe hostingi.

Hosting Magento 2 - redis

serwer cachujący. Jego rolą jest trzymanie informacji tymczasowych takich jak dane o sesji w wydajny sposób. Zazwyczaj nie dostępny na hostingach współdzielonych

Hosting Magento 2 - varnish

serwer cachujący zawartość webową. Niedostępny na hostingach współdzielonych. Wymaga specjalnej konfiguracji pod Magento

Hosting Magento 2 - postfix

serwer pocztowy, który będzie obsługiwał nasz sklep. Magento 2 nie ma w swojej konfiguracji zewnętrznego serwera pocztowego. W naszym przypadku będzie to relay na inny serwer pocztowy.

Hosting Magento 2 - phpfpm

serwer PHP. W końcu coś musi nam obsłużyć te wszystkie zapytania 🙂

Jak widzicie mamy tego sporo. Ale nie od razu Rzym zbudowano i zajmiemy się każdym komponentem z osobna, aby było to łatwiejsze do strawienia. Oczywiście nic nie stoi na przeszkodzie, aby używać Apache czy Memcached zamiast Redis. Tak samo możemy zastąpić serwer postfix innym serwerem, ale jak przystało na tak rozbudowaną konfigurację musimy coś wybrać i powyższa kombinacja jest wg mnie najprostsza i co bardzo istotne sprawdzona w praktyce.

Linki do pozostałych części:

Scroll to top