Hoe Apache te versnellen met Varnish HTTP cache op Ubuntu 18.04 LTS

Varnish is een proxyserver gericht op HTTP caching. Het is ontworpen als een HTTP-versneller en kan fungeren als een reverse proxy voor uw webserver (Apache of Nginx). Varnish is gebruikt voor high-profile en high-traffic websites, waaronder Wikipedia, The Guardian, en de New York Times.

in deze tutorial laten we u zien hoe u de varnish HTTP accelerator installeert en configureert als een reverse proxy voor de Apache webserver. De echte webserver Apache zal draaien onder een niet-standaard HTTP poort (draait op poort 8080). En Varnish zal draaien als de reverse proxy op HTTP poort 80. Voor deze handleiding gebruiken we de Ubuntu 18.04 LTS-server.

wat we gaan doen

  1. Apache-webserver
  2. Apache-standaardpoort
  3. installeer Varnish
  4. Varnish
  5. configureer Varnish
  6. Test de setup

vereisten

  • Ubuntu 18.04 LTS
  • Root privileges

Stap 1 – Installeer Apache webserver

om te starten, installeer de Apache webserver. Standaard is het beschikbaar in de Ubuntu-repository.

werk de Ubuntu-repository bij en installeer Apache met het commando apt.

apt update
apt install -y apache2

nadat de installatie is voltooid, start u de Apache-service en laat deze automatisch draaien tijdens het opstarten van het systeem met behulp van de volgende systemctl-commando ‘ s.

systemctl start apache2
systemctl enable apache2

de Apache webserver is geïnstalleerd.

Volgende, om iedereen toegang te geven tot de webserver, moeten we HTTP en HTTPS toestaan op onze firewallregel. Standaard wordt Ubuntu geleverd met een firewallpakket met de naam UFW.

Open nieuwe SSH -, HTTP-en HTTPS-poorten met de volgende UFW-opdrachten.

ufw allow ssh
ufw allow http
ufw allow https

start nu de firewall-service en schakel deze in om automatisch te starten bij het opstarten van het systeem.

ufw enable

typ ” y ” en druk op Enter om te bevestigen.

nieuwe poorten voor HTTP, HTTPS en SSH zijn geopend en zijn toegankelijk van buiten het netwerk.

Als u de Apache webserver wilt testen, kunt u het netstat commando gebruiken en ervoor zorgen dat apache draait onder poort 80.

netstat -plntu

of u kunt het volgende curl commando gebruiken.

curl -I hakase-labs.co

u krijgt het resultaat zoals hieronder weergegeven.

Stap 2 – Wijzig Apache standaard poort

in deze tutorial zullen we Apache gebruiken als de backend server, en het zal niet draaien onder de standaard HTTP poort 80. De Apache webserver zal draaien op poort 8080 als backend, en de standaard HTTP poort 80 zal gebruikt worden door’Varnish’.

om de standaard Apache poort te wijzigen, moeten we de poorten van de apache configuratie bewerken.conf ‘en alle virtuele host configuratie onder de’ sites-available ‘ directory.

Ga naar de Apache configuratie map.

cd /etc/apache2

vervang poort ’80’ door ‘8080’ in de Apache configuratie ‘ports.conf ‘en alle virtuele host bestanden onder de’ sites-available ‘ directory. We kunnen dat doen door de volgende sed commando ‘ s uit te voeren.

sed -i -e 's/80/8080/g' ports.conf
sed -i -e 's/80/8080/g' sites-available/*

test vervolgens de Apache configuratie en controleer of er geen fout is, en herstart vervolgens de Apache service.

apachectl configtest
systemctl restart apache2

nu Apache draait onder HTTP poort ‘8080’, controleer het met behulp van de’ netstat ‘ commando zoals hieronder getoond.

netstat -plntu

zorg ervoor dat u het resultaat zoals hieronder.

je kunt dus zien dat de Apache webserver draait op poort ‘8080’.

Stap 3 – Installeer Varnish HTTP Accelerator

in deze stap zullen we Varnish installeren vanuit de Ubuntu-repository. En voor deze gids gebruiken we Varnish 5.2.

installeer varnish met het volgende Apt Commando.

apt install -y varnish

nadat de installatie is voltooid, start Varnish en laat het automatisch starten bij het opstarten van het systeem.

systemctl start varnish
systemctl enable varnish

Varnish is geïnstalleerd op het Ubuntu 18.04-systeem.

standaard draait het onder poorten ‘ 6081 ‘voor public address en’ 6082 ‘ voor localhost address. Controleer het met behulp van de netstat commando hieronder.

netstat -plntu

en u krijgt de standaard varnish-poort.

Stap 4-Varnish configureren als een Reverse Proxy voor Apache

in deze stap zullen we varnish configureren op de voorkant van de Apache webserver. Varnish zal draaien onder http poort 80, en elk verzoek van clients zal worden behandeld door het, alvorens te worden verzonden naar de Apache webserver draait op poort 8080.

– Backend configuratie

Ga naar de’ varnish ‘configuratie map en maak een backup van het standaard bestand’ standaard.vcl”.

cd /etc/varnish/
cp default.vcl default.vcl.aseli

Bewerk de standaardconfiguratie van de varnish.vcl ‘ met behulp van de Vim-editor.

vim default.vcl

Definieer de’ backend ‘ – configuratie op Regel 16. De backend voor onze setup is Apache, en het draait op poort 8080. Dus de varnish configuratie voor onze apache setup moet de volgende zijn:

backend default {
.host = "127.0.0.1";
.port = "8080";
}

opslaan en afsluiten.

– Varnish draait op poort 80

vervolgens moeten we de standaard varnish-poorten wijzigen. De standaard poorten voor varnish zijn ‘6081’ en ‘6082’, en we moeten de poort veranderen naar de HTTP poort 80 (alleen voor public address).

Bewerk de varnish parameterconfiguratie in de map ‘/etc / default’.

cd /etc/default/
vim varnish

Bewerk de’ DAEMON_OPTS ‘regel, verander de standaard poort ‘6081’ voor public address met standaard HTTP poort ’80’ zoals hieronder getoond.

DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"

opslaan en afsluiten.

vervolgens moeten we het varnish-servicebestand ‘varnish’ bewerken.service”. Ga naar de map’/lib/systemd / system’ en bewerk het servicebestand met vim.

cd /lib/systemd/system/
vim varnish.service

op de’ ExecStart ‘ regel, verander het varnish start commando zoals hieronder.

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

opslaan en afsluiten.

Laad de systemd-serviceconfiguratie opnieuw en herstart varnish.

systemctl daemon-reload
systemctl restart varnish

Controleer nu varnish en zorg ervoor dat het draait op de HTTP-poort 80.

netstat -plntu

Varnish draait nu onder HTTP-poort 80 als front-end voor Apache webserver, die op poort 8080 staat.

Stap 5-testen

Test met de opdracht curl.

curl -I hakase-labs.co

zorg ervoor dat u de HTTP-header krijgt zoals hieronder getoond.

controle vanuit de webbrowser, de URL van mijn testserver is http://hakase-labs.co/. Kies hier uw server URL.

en we krijgen nog steeds Apache-inhoud.

controleer de varnish log met het’ varnishncsa ‘ Commando.

varnishncsa

en we krijgen log alleen van de Apache access log.

Varnish installatie en configuratie voor de Apache webserver is voltooid.

Leave a Reply

Het e-mailadres wordt niet gepubliceerd.