Varnish Cache 6:n asentaminen Nginxille CentOS/RHEL 8:aan
Varnish Cache (tunnetaan yleisesti nimellä Varnish) on avoimen lähdekoodin, tehokas ja nopea käänteisen välityspalvelimen HTTP-kiihdytin, jolla on moderni arkkitehtuuri ja joustava. määrityskieli. Käänteinen välityspalvelin tarkoittaa yksinkertaisesti ohjelmistoa, jonka voit ottaa käyttöön verkkopalvelimesi (joka on alkuperäinen palvelin tai taustapalvelin), kuten Nginx, edessä vastaanottamaan asiakkaiden HTTP-pyyntöjä ja välittämään ne alkuperäpalvelin käsittelyä varten. Ja se toimittaa vastauksen alkuperäpalvelimelta asiakkaille.
Lakka toimii välittäjänä Nginxin ja asiakkaiden välillä, mutta sillä on joitain suorituskykyetuja. Sen päätarkoitus on saada sovelluksesi latautumaan nopeammin toimimalla välimuistimoottorina. Se vastaanottaa pyynnöt asiakkailta ja välittää ne takaisin taustajärjestelmään kerran tallentaakseen pyydetyn sisällön välimuistiin (tallentaa tiedostoja ja tiedostojen fragmentteja muistiin). Sitten kaikki tulevat täsmälleen samankaltaisen sisällön pyynnöt toimitetaan välimuistista.
Tämä saa verkkosovelluksesi latautumaan nopeammin ja parantaa epäsuorasti verkkopalvelimesi yleistä suorituskykyä, koska Varnish näyttää sisältöä muistista sen sijaan, että Nginx käsittelee tiedostoja tallennuslevyltä.
Välimuistin tallentamisen lisäksi Varnishilla on myös useita muita käyttötapauksia, kuten HTTP-pyyntöreititin, kuormituksen tasapainotin, verkkosovellusten palomuuri ja paljon muuta.
Lakka on määritetty käyttämällä erittäin laajennettavaa sisäänrakennettua Varnish Configuration Language -kieltä (VCL), jonka avulla voit kirjoittaa käytäntöjä siitä, miten saapuvat pyynnöt tulee olla hoidettu. Voit käyttää sitä räätälöityjen ratkaisujen, sääntöjen ja moduulien rakentamiseen.
Tässä artikkelissa käydään läpi vaiheet Nginx-verkkopalvelimen ja Varnish Cache 6:n asentamiseksi uuteen CentOS 8- tai -käyttöjärjestelmään. RHEL 8 -palvelin. RHEL 8 -käyttäjien tulee varmistaa, että he ottavat käyttöön redhat-tilauksen.
Jos haluat määrittää täydellisen LEMP-pinon pelkän Nginx-verkkopalvelimen asentamisen sijaan, tutustu seuraaviin oppaisiin.
- Kuinka asentaa LEMP-palvelin CentOS 8:aan
- Kuinka asentaa LEMP-palvelin RHEL 8:aan
Vaihe 1: Asenna Nginx Web Server CentOS/RHEL 8:aan
1. CentOS/RHEL 8 toimitetaan Nginx-verkkopalvelinohjelmiston uusimman version kanssa, joten asennamme sen oletusvarastosta käyttämällä seuraamalla dnf-komentoja.
dnf update
dnf install nginx
2. Kun Nginx on asennettu, sinun on käynnistettävä, otettava käyttöön ja tarkistettava tila käyttämällä seuraavia systemctl-komentoja.
systemctl start nginx
systemctl enable nginx
systemctl status nginx
3. Jos olet hieman utelias, voit myös tarkistaa Nginx TCP -socketin, joka toimii oletuksena portissa 80, käyttämällä seuraavaa ss-komentoa.
ss -tpln
4. Jos käytät palomuuria järjestelmässä, muista päivittää palomuurisäännöt salliaksesi pyynnöt verkkopalvelimelle.
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
Vaihe 2: Varnish Cache 6:n asentaminen CentOS/RHEL 8:aan
5. CentOS/RHEL 8 sisältää oletuksena Varnish Cache DNF -moduulin, joka sisältää version 6.0 LTS (Pitkäaikainen tuki).
Asenna moduuli suorittamalla seuraava komento.
dnf module install varnish
6. Kun moduulin asennus on valmis, voit vahvistaa järjestelmääsi asennetun Varnishin-version.
varnishd -V
7. Kun olet asentanut Lakkavälimuistin, pääasiallinen suoritettava komento, joka on asennettu hakemistoon /usr/sbin/varnishd ja lakka-määritystiedostot sijaitsevat /etc/lakka/.
Tiedosto /etc/varnish/default.vcl on tärkein lakan asetustiedosto, joka on kirjoitettu VCL:llä ja /etc/varnish/secret on lakka. salainen tiedosto.
8. Käynnistä seuraavaksi Varnish-palvelu, ota se käyttöön automaattisesti järjestelmän käynnistyksen aikana ja varmista, että se on käynnissä.
systemctl start varnish
systemctl enable varnish
systemctl status varnish
Vaihe 3: Nginxin määrittäminen toimimaan lakkavälimuistin kanssa
9. Tässä osiossa näytämme, kuinka Varnish Cache määritetään toimimaan Nginx:n edessä. Oletuksena Nginx kuuntelee porttia 80, normaalisti jokainen palvelinlohko (tai virtuaalinen isäntä) on määritetty kuuntelemaan tätä porttia.
Katso esimerkiksi oletusarvoista nginx-palvelinlohkoa, joka on määritetty päämääritystiedostossa (/etc/nginx/nginx.conf).
vi /etc/nginx/nginx.conf
Etsi palvelinlohkoosa seuraavan kuvakaappauksen mukaisesti.
10. Jos haluat suorittaa Varnishin Nginxin edessä, sinun tulee vaihtaa Nginx-oletusportiksi 80 arvoon >8080 (tai mikä tahansa muu valitsemasi portti).
Tämä tulee tehdä kaikissa tulevissa palvelinlohkon määritystiedostoissa (yleensä luotu osoitteessa /etc/nginx/conf.d/) sivustoille tai verkkosovelluksille, joita haluat käyttää Varnishin kautta. >.
Esimerkiksi testisivustomme tecmint.lan
palvelinlohko on /etc/nginx/conf.d/tecmint.lan.conf, ja sen kokoonpano on seuraava.
server {
listen 8080;
server_name www.tecmint.lan;
root /var/www/html/tecmint.lan/;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Tärkeää: muista poistaa oletuspalvelinlohko käytöstä kommentoimalla sen määritysosiota /etc/nginx/nginx.conf-tiedostossa kuvan osoittamalla tavalla. seuraavassa kuvakaappauksessa. Tämän avulla voit aloittaa muiden verkkosivustojen/sovellusten suorittamisen palvelimellasi, muuten Nginx ohjaa aina pyynnöt oletuspalvelinlohkoon.
11. Kun määritys on valmis, tarkista määritystiedostossa mahdolliset virheet ja käynnistä Nginx-palvelu uudelleen ottaaksesi käyttöön viimeisimmät muutokset.
nginx -t
systemctl restart nginx
12. Seuraavaksi, jotta voimme vastaanottaa HTTP-pyyntöjä asiakkailta, meidän on määritettävä Varnish toimimaan portissa 80. Toisin kuin aiemmissa Varnish Cache -versioissa, joissa tämä muutos tehtiin Varnish-ympäristötiedostossa (joka on nyt vanhentunut), versiossa 6.0 ja uudemmissa. .
Meidän on tehtävä vaadittu muutos Varnish-palvelutiedostoon. Suorita seuraava komento avataksesi sopivan palvelutiedoston muokkausta varten.
systemctl edit --full varnish
Etsi seuraava rivi ja muuta -a
-kytkimen arvoa, joka määrittää kuunteluosoitteen ja portin. Aseta portiksi 80 seuraavan kuvakaappauksen mukaisesti.
Huomaa, että jos et määritä osoitetta, varnishd kuuntelee kaikkia saatavilla olevia IPv4- ja IPv6-liitäntöjä, jotka ovat aktiivisia palvelimella.
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
Tallenna muutokset tiedostoon ja poistu.
13. Seuraavaksi sinun on määritettävä taustapalvelin, jolta Varnish vierailee hakeakseen sisältöä. Tämä tehdään Varnishin pääasetustiedostossa.
vi /etc/varnish/default.vcl
Etsi taustajärjestelmän oletusmääritysosio ja muuta merkkijono "oletus" arvoksi palvelin1 (tai mikä tahansa valitsemasi nimi edustamaan alkuperäistä palvelinta). Aseta sitten portiksi 8080 (tai palvelinlohkossa määrittämäsi Nginx-kuunteluportti).
backend server1 {
.host = "127.0.0.1";
.port = "8080";
}
Tätä opasta varten käytämme Varnishia ja Nginxiä samalla palvelimella. Jos Nginx-verkkopalvelimesi toimii eri isännässä. Esimerkiksi toinen palvelin, jonka osoite on 10.42.0.247, ja aseta sitten .host
-parametri kuvan mukaisesti.
backend server1 {
.host = "10.42.0.247";
.port = "8080";
}
Tallenna tiedosto ja sulje se.
14. Seuraavaksi sinun on ladattava systemd-hallintaohjelman kokoonpano uudelleen Varnish-palvelutiedoston viimeaikaisten muutosten vuoksi ja käynnistettävä sitten Varnish-palvelu uudelleen, jotta muutokset otetaan käyttöön seuraavasti.
systemctl daemon-reload
systemctl restart varnish
15. Vahvista nyt, että Nginx ja Varnish kuuntelevat määritettyjä TCP-liitäntöjä.
ss -tpln
Vaihe 4: Testaa Nginx Varnish Cache -asetusta
16. Varmista seuraavaksi, että verkkosivuja tarjotaan Varnish Cachen kautta seuraavasti. Avaa verkkoselain ja navigoi käyttämällä palvelimen IP-osoitetta tai FDQN:ää seuraavan kuvakaappauksen mukaisesti.
http://www.tecmin.lan
OR
http://10.42.0.144
17. Vaihtoehtoisesti voit käyttää curl-komentoa kuvan mukaisesti. Käytä palvelimesi IP-osoitetta tai verkkosivuston FQDN-numeroa tai käytä 127.0.0.1:tä tai localhostia, jos testaat paikallisesti.
curl -I http:///www.tecmint.lan
Hyödyllisiä lakkavälimuistin hallintaohjelmia
18. Tässä viimeisessä osiossa kuvataan lyhyesti joitain hyödyllisiä apuohjelmia, joiden mukana Varnish Cache toimitetaan ja joilla voit hallita varnishda. >, pääset käsiksi muistin lokeihin ja yleisiin tilastoihin ja paljon muuta.
lakkashadm
varnishadm apuohjelma käynnissä olevan Varnish-esiintymän ohjaamiseen. Se muodostaa CLI-yhteyden varnishd:hen. Voit esimerkiksi käyttää sitä luetteloimaan määritettyjä taustaohjelmia seuraavan kuvakaappauksen mukaisesti (lisätietoja on kohdassa man varnishadm).
varnishadm
varnish> backend.list
lakkatukki
varnishlog-apuohjelma tarjoaa pääsyn pyyntökohtaisiin tietoihin. Se tarjoaa tietoja tietyistä asiakkaista ja pyynnöistä (lisätietoja on kohdassa man varnishlog).
varnishlog
lakkatila
lakkatilastot, joka tunnetaan myös nimellä lakkatilastot, joka antaa sinulle vilkaisun Varnishin nykyiseen suorituskykyyn tarjoamalla pääsyn muistin tilastoihin, kuten välimuistin osumiin ja poikkeamiin sekä tallennustilatietoihin. , luodut säikeet, poistetut objektit (lisätietoja on kohdassa man varnishstat).
varnishstat
lakkapinta
varnishtop-apuohjelma lukee jaetun muistin lokit ja näyttää jatkuvasti päivitettävän luettelon yleisimmin esiintyvistä lokimerkinnöistä (lisätietoja on kohdassa man varnishtop).
varnishtop
lakkahiutale
Lakkahistoria (lakkahistoria) -apuohjelma jäsentää lakkauslokit ja tulostaa jatkuvasti päivitettävän histogrammin, joka näyttää viimeisten n pyynnön jakautumisen niiden käsittelyn mukaan ( Lue lisää aiheesta man lakkhist).
varnishhist
Siinä kaikki! Tässä oppaassa olemme osoittaneet, kuinka Varnish Cache asennetaan ja suoritetaan Nginx HTTP -palvelimen edessä verkkosisällön toimittamisen nopeuttamiseksi CentOS/RHEL 8:ssa<..
Kaikki tätä opasta koskevat ajatukset tai kysymykset voidaan jakaa käyttämällä alla olevaa palautelomaketta. Lisätietoja saat Varnish Cache -dokumentaatiosta.
Varnish Cachen suurin haittapuoli on sen natiivituen puute HTTPS:lle. Jotta voit ottaa HTTPS:n käyttöön verkkosivustossasi/sovelluksessasi, sinun on määritettävä SSL/TLS-päätevälityspalvelin, joka toimii yhdessä Varnish Cachen kanssa suojataksesi sivustoasi. Seuraavassa artikkelissamme näytämme, kuinka HTTPS otetaan käyttöön Varnish Cachelle Hitchillä CentOS/RHEL 8:ssa.