Home > Linux > Serwery > Optymalizacja serwera VPS i optymalizacja strony internetowej
optymalizacja serwera VPS

Optymalizacja serwera VPS i optymalizacja strony internetowej

Instalacja i konfiguracja Cloud Flare

Zarejestruj i zaloguj się na stronie www.cloudflare.com. Po pierwszym zalogowaniu się, Cloud Flare poprosi ciebie o domenę strony, którą chcesz tam podpiąć. Podaj go na zasadzie twojastrona.pl, bez żadnych www, http, itp. Po dodaniu domeny, podane zostaną ci adresy DNS, jakie będziesz musiał wpisać u swojego rejestratora domeny (zamienić te istniejące na te z Cloud Flare).

Teraz będziesz musiał poczekać do 24h na propagacje tych dns, twoja strona do tego czasu będzie działać na starych warunkach. Jeśli status twojej strony zmienił się na Active, znaczy to że propagacja dns została dokonana i strona działa już za pośrednictwem Cloud flare.

Jakie opcje warto włączyć, co warto zmienić w podstawowej konfiguracji Cloud Flare.

Sekcja DNS Najlepiej nic tam nie zmieniać jeśli dokładnie nie wiesz co robisz. To Cloud Flare teraz świadczy usługi DNS dla twojej domeny, więc każda zmiana tam wpłynie na działanie twojej strony i innych usług jak FTP, poczta itp. podpiętych także pod tą domenę.

SSL/TLS Wspomniałem już, że Cloud Flare pozwala wygenerować darmowy certyfikat dla twojej strony. Warto z tego skorzystać i udostępniać internautom swoją stronę za pośrednictwem SSL/TLS.

Wygeneruj certyfikat klikając w Create Certificate w bloku Origin Certificates. Następnie skonfiguruj resztę opcji według moich sugestii.

Blog SSL ma mieć wybraną opcję FULL.

Always Use HTTPS ma być ustawiony na On.

HTTP Strict Transport Security (HSTS)

Status: On
Max-Age: 3 months
Include subdomains: On
Preload: Off

Authenticated Origin Pulls ustawiony na On

Minimum TLS version ustawione na TLS 1.1

Opportunistic Encription ustawione na On

Onion Routing ustawione na On

TLS 1.3 Enabled

Automatic HTTPS Rewrites ustawione na On

Reszta opcji w tej sekcji powinna pozostać bez zmian.

Sekcja Speed Tutaj warto zaznaczyć Auto minify. Sprawdź jednak dokładnie, czy po zaznaczeniu CSS, JS, HTML twoja strona działa poprawnie. Jeśli nie, pozostaw tylko te opcje, które nie powodują problemu. W ostateczności wyłącz wszystkie.

Brotli ustaw na On

Rocket Loader ustaw na On, jednak jak w przypadku Auto Minify sprawdź, czy nie powoduje problemów z twoją stroną. Jeśli powoduje, wyłącz tą opcję. Resztę opcji pozostaw bez zmian w tej sekcji .

Sekcja Caching Zaznacz jedynie Always Online, resztę opcji pozostaw bez zmian.

Ustawienia są również punktem wyjścia do tego, aby móc dostosować wszystko do własnych potrzeb. Kieruj się więc w dalszym ciągu zasadą, że cokolwiek zmienisz, sprawdzaj jaki ma to wpływ zarówno na sam serwer VPS jak i stronę.

Zastanawia cię może sens włączenia niektórych opcji na Cloud Flare, jeżeli są one uruchomione także na twoim serwerze VPS i stronie. Otóż ruch danych od serwera VPS do przeglądarki internauty po podpięciu Clolud Flare, odbywa się dwuetapowo. Strona najpierw jest cachowana na serwerach Cloud Flare w różnych miejscach na świecie i stamtąd dopiero jest przekazywana do przeglądarki internauty.

Dobrze jest zrzucić najbardziej wymagające funkcje na Cloud Flare. Jednak Cloud Flare nie cachuje ani nie optymalizuje wszystkiego (w przypadku mojej strony jest to około 40% jedynie), stąd też zachodzi potrzeba zrobienia tego także na serwerze VPS. Ważne jest także skrócenie czasu przesyłania danych strony internetowej do serwerów CF, więc dobrze, aby te dane były jak najmniejsze. Taka konfiguracja też zdaje się najbardziej optymalna i zdają się to potwierdzać robione przeze mnie testy.

Kilka dodatkowych słów na temat skutecznej optymalizacji serwera VPS

Optymalizacja serwera VPS, to nie tylko serwer stron internetowych i same strony. Niskie obciążenie serwera, oraz szybkość ładowania się tej strony zależy także od innych czynników np. innych usług działających na naszym serwerze VPS, takich jak serwer poczty, serwer baz danych MySQL, program antywirusowy i filtrujący naszą pocztę, Fail2Ban itp. Dobrze więc, abyś umiał znaleźć wąskie gardło swojej infrastruktury, aby mieć pewność, że to nie któraś z wymienionych usług jest winna obniżenia wydajności serwera.

Warto także przy niewielkich zasobach sprzętowych serwera VPS, wybrać mniej wymagające oprogramowanie, do świadczenia poszczególnych usług.

Bardzo dobrym pakietem takiego oprogramowania jest ten opisany w niniejszym poradniku https://www.howtoforge.com/tutorial/perfect-server-ubuntu-18.04-with-apache-php-myqsl-pureftpd-bind-postfix-doveot-and-ispconfig/.

Oczywiście nie musisz używać wszystkiego co proponuje autor tego poradnika, tym bardziej graficznych konfiguratorów. To tylko przykład, na bazie którego możesz stworzyć swoją idealną konfigurację.

Jeśli korzystasz z protokołu https na swojej stronie lub stronach, możesz rozważyć także wdrożenie protokołu http/2. Główną jego zaletą jest to, że dane strony są przesyłane asynchronicznie, co niweluje w znacznym stopniu opóźnienia.

Optymalizacja serwera VPS. Zakończenie.

Dobra optymalizacja serwera VPS, to temat rzeka. Jeśli jednak posiadasz niewielki serwer VPS, o podobnych parametrach, jak ten wspomniany w artykule, to zastosowanie się do powyższych porad powinno pomóc.

W innym przypadku, obawiam się że nie pozostanie ci nic innego, jak wykup serwera o lepszych parametrach.

Jeśli masz problemy ze zrozumieniem, bądź poprawnym uruchomieniem któregoś z prezentowanych narzędzi, napisz o tym w komentarzu. Postaram się ci pomóc najszybciej jak to będzie możliwe.

2 Comments

  1. 1. Wszystko fajnie, co jednak jeżeli posiadam serwer Nginx i nie chciałbym go zmieniać na Apache?

    2. Co jeśli posiadam stronę, która nie obsługuje opisanych przez pana programów i nie można znaleźć do skryptu, na jakim ona stoi dodatkowych modułów, które by włączyły mi ten kesz Redis i kompresję brotli ?

    3. Jak to będzie działało ewentualnie na dwurdzeniowym dedyku z 8mb ram i 1tb dyskiem twardym ale ide, nie ssd?

    4. Czy jest w ogóle sens stosowania tych programów i jak to ewentualnie skonfigurować pod mój serwer?

    5, Czy da się pagespeed uruchomić z Nginx?

    1. 1. Brotli i Redis działają jako moduły dla PHP, więc tylko jeśli pan PHP posiada na swoim serwerze to nie będzie problemów z uruchomieniem. Pod Nginx także da się uruchomić pagespeed.
      2. Jeżeli pana skrypt nie obsługuje brotli i Redis, nie można znaleźć wtyczek do niego z tym związanych. Można w ostateczności je spróbować uruchomić jako moduły Nginx lub też doinstalować Apache i skonfigurować Nginx jako serwer proxy, a pod Apachem uruchomić te moduły dla Nginx i Brotli. Taka konfiguracja Nginx+Apache na pana serwerze miała by sens.
      3. Konfiguracja serwera jest jak najbardziej ok (może poza dyskiem, który będzie wprowadzał większe opóźnienia niż przy SSD). Zasada konfiguracji redis, brotli, pagespeed, cloud flare jet taka sama. Także Apache jeśli zdecyduje się pan na jego instalację, a Nginx przestawić, aby pracował jako proxy.
      4. Tak ma to sens. To w dalszym ciągu jest niewielki serwer jak na dzisiejsze standardy. Co innego jak posiadałby pan kilku procesorową maszynę z np. 32gb lub więcej ram i kilka szybkich dysków ssd. Wtedy wskazana była by inna architektura zarówno konfiguracji samego serwera jak i konfiguracji i zastosowania innych programów-usług. Jak już przy tym jesteśmy, to w dużych serwerach lepiej sprawdzi się na przykład taki memached.
      5. Tak na Nginx da się uruchomić pagespeed. Na stronach Google jest napisane jak to zrobić.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

+