Jak przyspieszyć Apache z Varnish HTTP cache Na Ubuntu 18.04 LTS
Varnish jest serwerem proxy skupionym na buforowaniu HTTP. Jest zaprojektowany jako akcelerator HTTP i może działać jako odwrotne proxy dla Twojego serwera WWW (Apache lub Nginx). Lakier był używany do głośnych i o dużym natężeniu ruchu stron internetowych, w tym Wikipedii, The Guardian i New York Times.
w tym samouczku pokażemy, jak zainstalować i skonfigurować akcelerator http Varnish jako odwrotne proxy dla serwera WWW Apache. Prawdziwy serwer WWW Apache będzie działał pod niestandardowym portem HTTP (działającym na porcie 8080). A Varnish będzie działał jako odwrotne proxy na porcie HTTP 80. W tym przewodniku będziemy używać serwera Ubuntu 18.04 LTS.
co zrobimy
- Zainstaluj serwer WWW Apache
- Zmień domyślny Port Apache
- zainstaluj lakier
- Skonfiguruj lakier
- Przetestuj konfigurację
wymagania wstępne
- Ubuntu 18.04 LTS
- uprawnienia roota
Krok 1 – Zainstaluj serwer WWW Apache
aby rozpocząć, Zainstaluj serwer WWW Apache. Domyślnie jest on dostępny w repozytorium Ubuntu.
zaktualizuj repozytorium Ubuntu, a następnie zainstaluj Apache za pomocą polecenia apt.
apt update
apt install -y apache2
po zakończeniu instalacji uruchom usługę Apache i włącz ją automatycznie podczas uruchamiania systemu za pomocą następujących poleceń systemctl.
systemctl start apache2
systemctl enable apache2
serwer WWW Apache został zainstalowany.
następnie, aby umożliwić wszystkim dostęp do serwera www, musimy zezwolić HTTP i HTTPS na naszej zasadzie zapory. Domyślnie Ubuntu jest dostarczane z zaporą o nazwie UFW.
Otwórz nowe porty SSH, HTTP i HTTPS za pomocą następujących poleceń UFW.
ufw allow ssh
ufw allow http
ufw allow https
Teraz uruchom usługę zapory sieciowej i włącz jej automatyczne uruchamianie przy rozruchu systemu.
ufw enable
wpisz 'y’ i naciśnij Enter, aby potwierdzić.
nowe porty HTTP, HTTPS i SSH zostały otwarte i są dostępne spoza sieci.
jeśli chcesz przetestować serwer WWW Apache, możesz użyć polecenia netstat i upewnić się, że apache działa pod portem 80.
netstat -plntu
lub możesz użyć następującego polecenia curl.
curl -I hakase-labs.co
powinieneś uzyskać wynik, jak pokazano poniżej.
Krok 2-Zmień domyślny Port Apache
w tym samouczku będziemy używać Apache jako serwera backendowego i nie będzie działać pod standardowym portem HTTP 80. Serwer WWW Apache będzie działał na porcie 8080 jako backend, A standardowy port HTTP 80 będzie używany przez 'Varnish’.
aby zmienić domyślny port apache, musimy edytować porty konfiguracji apache 'a.conf 'i całą konfigurację wirtualnego hosta w katalogu „sites-available”.
przejdź do katalogu konfiguracji Apache.
cd /etc/apache2
Zamień port ’80’ na '8080′ w portach konfiguracji Apache 'a.conf 'i wszystkie wirtualne pliki hosta w katalogu „sites-available”. Możemy to zrobić uruchamiając następujące polecenia sed.
sed -i -e 's/80/8080/g' ports.conf
sed -i -e 's/80/8080/g' sites-available/*
następnie przetestuj konfigurację Apache i upewnij się, że nie ma błędu, a następnie uruchom ponownie usługę Apache.
apachectl configtest
systemctl restart apache2
teraz Apache działa pod portem HTTP '8080′, sprawdź to za pomocą polecenia’ netstat’, jak pokazano poniżej.
netstat -plntu
upewnij się, że masz wynik jak poniżej.
widać więc, że serwer Apache działa na porcie '8080′.
Krok 3-Zainstaluj varnish HTTP Accelerator
w tym kroku będziemy instalować Varnish z repozytorium Ubuntu. A do tego przewodnika użyjemy lakieru 5.2.
zainstaluj varnish używając następującego polecenia apt.
apt install -y varnish
po zakończeniu instalacji uruchom program Varnish i włącz go automatycznie podczas uruchamiania systemu.
systemctl start varnish
systemctl enable varnish
lakier został zainstalowany na systemie Ubuntu 18.04.
domyślnie działa pod portami ’ 6081 'dla adresu publicznego i’ 6082 ’ dla adresu localhost. Sprawdź to używając poniższego polecenia netstat.
netstat -plntu
i otrzymasz domyślny port lakieru.
Krok 4-Skonfiguruj Varnish jako odwrotne Proxy dla Apache
w tym kroku skonfigurujemy varnish z przodu serwera WWW Apache. Varnish będzie działał pod portem http 80, a każde żądanie od klientów będzie obsługiwane przez niego, zanim zostanie wysłane do serwera Apache działającego na porcie 8080.
– Konfiguracja zaplecza
przejdź do katalogu konfiguracyjnego „lakier” i wykonaj kopię zapasową domyślnego pliku „default”.vcl”.
cd /etc/varnish/
cp default.vcl default.vcl.aseli
Edytuj domyślną konfigurację lakieru.vcl ’ za pomocą edytora vim.
vim default.vcl
Zdefiniuj konfigurację „backend” w linii 16. Backend dla naszej konfiguracji jest Apache, i to ’ działa na porcie 8080. Tak więc konfiguracja lakieru dla naszej konfiguracji apache powinna być następująca:
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Zapisz i wyjdź.
– uruchamianie lakieru na porcie 80
następnie musimy zmienić domyślne porty lakieru. Domyślne porty dla varnish to '6081′ i '6082′ i musimy zmienić port na HTTP port 80 (Tylko dla adresu publicznego).
Edytuj konfigurację parametrów lakieru w katalogu '/etc/default’.
cd /etc/default/
vim varnish
Edytuj linię 'DAEMON_OPTS’, zmień domyślny port '6081′ dla adresu publicznego ze standardowym portem HTTP ’80’, Jak pokazano poniżej.
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
Zapisz i wyjdź.
następnie musimy edytować plik Usługi lakieru ’ lakier.serwis”. Przejdź do katalogu '/lib / systemd/ system ’ i edytuj plik usługi za pomocą Vima.
cd /lib/systemd/system/
vim varnish.service
w wierszu 'ExecStart’ Zmień polecenie varnish start jak poniżej.
ExecStart=/usr/sbin/varnishd-J unix,user=vcache-F-a :80-T localhost:6082-f /etc/varnish/default.vcl-s/etc/varnish / secret-s malloc,256m
Zapisz i zakończ.
Przeładuj konfigurację usługi systemd, a następnie uruchom ponownie lakier.
systemctl daemon-reload
systemctl restart varnish
teraz sprawdź lakier i upewnij się, że działa na porcie HTTP 80.
netstat -plntu
Tak więc Varnish działa teraz pod portem HTTP 80 jako front-end dla serwera WWW Apache, który znajduje się na porcie 8080.
Krok 5 – testowanie
testowanie przy użyciu polecenia curl.
curl -I hakase-labs.co
upewnij się, że otrzymasz nagłówek HTTP, jak pokazano poniżej.
sprawdzając z przeglądarki internetowej, adres URL mojego serwera testowego to http://hakase-labs.co/. Wybierz adres URL serwera tutaj.
i nadal dostajemy zawartość Apache.
Sprawdź dziennik lakieru za pomocą polecenia 'varnishncsa’.
varnishncsa
i otrzymujemy log tylko z dziennika dostępu Apache.
zakończono instalację i konfigurację lakieru dla serwera WWW Apache.