Kuidas installida Nginxi lakkide vahemälu 6 CentOS/RHEL 8-le


Varnish Cache (tavaliselt nimetatud lakiks) on avatud lähtekoodiga, võimas ja kiire vastupidise puhverserveri HTTP-kiirendi, millel on kaasaegne arhitektuur ja paindlik konfiguratsioonikeel. Pööratud puhverserveriks olemine tähendab lihtsalt seda, et see on tarkvara, mille saate juurutada oma veebiserveri (mis on algserver või taustaprogramm), näiteks Nginxi ette, klientide HTTP-päringute vastuvõtmiseks ja nende päritoluserverisse töötlemiseks edastamiseks. Ja see edastab vastuse päritoluserverist klientidele.

Lakk on vahendaja Nginxi ja klientide vahel, kuid sellel on mõningaid eeliseid. Selle peamine eesmärk on muuta teie rakendused kiiremaks vahemälumootorina töötades. See võtab klientidelt päringud vastu ja edastab need üks kord taustaprogrammile, et soovitud sisu vahemällu salvestada (failide ja failifragmentide salvestamine mällu). Seejärel esitatakse vahemälust kõik tulevased täpselt sarnase sisu taotlused.

See muudab teie veebirakenduste kiirema laadimise ja parandab kaudselt teie veebiserveri üldist jõudlust, kuna lakk teenib mälust sisu, mitte Nginxi failide töötlemist salvestuskettalt.

Lisaks vahemällu salvestamisele on Varnishil ka mitu muud kasutusjuhtumit, sealhulgas HTTP-päringu ruuter ja koormuse tasakaalustaja, veebirakenduste tulemüür ja palju muud.

Lakk on konfigureeritud väga laiendatava sisseehitatud laki konfiguratsioonikeele (VCL) abil, mis võimaldab teil kirjutada reegleid sissetulevate päringute käsitlemise kohta. Selle abil saate luua kohandatud lahendusi, reegleid ja mooduleid.

Selles artiklis tutvume Nginxi veebiserveri ja Varnish Cache 6 installimise sammudega värske CentOS 8 või RHEL 8 serverisse. RHEL 8 kasutajad peaksid veenduma, et nad lubaksid redhati tellimuse.

Ainult Nginxi veebiserveri installimise asemel saate täieliku LEMP-i virna seadistada järgmiste juhenditega.

  1. Kuidas LEMP-serverit CentOS 8-le installida
  2. Kuidas LEMP-serverit RHEL 8-le installida

1. samm: installige Nginxi veebiserver CentOS/RHEL 8-le

1. CentOS/RHEL 8 tarnitakse Nginx veebiserveri tarkvara uusima versiooniga, seega installime selle vaikehoidlast järgmiste käskude dnf abil.

# dnf update
# dnf install nginx

2. Kui Nginx on installitud, peate käivitama, lubama ja kontrollima olekut järgmiste käskude systemctl abil.

# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

3. Kui olete veidi uudishimulik, saate ka järgmise ss käsu abil kontrollida Nginx TCP-i soklit, mis töötab vaikimisi pordil 80.

# ss -tpln

4. Kui kasutate süsteemis tulemüüri, värskendage kindlasti tulemüüri reegleid, et lubada taotlusi veebiserverisse.

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --reload

2. samm: Varnish Cache 6 installimine CentOS/RHEL 8-le

5. CentOS/RHEL 8 pakub vaikimisi Varnish Cache DNF moodulit, mis sisaldab versiooni 6.0 LTS (Long Term Support).

Mooduli installimiseks käivitage järgmine käsk.

# dnf module install varnish

6. Kui mooduli installimine on lõpule jõudnud, saate kinnitada oma süsteemi installitud Varnishi versiooni.

# varnishd -V

7. Pärast Varnish Cache installimist asub/usr/sbin/varnishd ja laki konfiguratsioonifailide alla installitud peamine käivitatav käsk kataloogis/etc/varnish /.

Fail /etc/varnish/default.vcl on peamine laki konfiguratsioonifail, mis on kirjutatud VCL-i abil ja/etc/lakish/secret on laki salajane fail.

8. Seejärel käivitage teenus Varnish, lubage sellel süsteemi käivitamisel automaatne käivitamine ja veenduge, et see töötab ja töötab.

# systemctl start varnish
# systemctl enable varnish
# systemctl status varnish

3. samm: Nginxi seadistamine lakivahemikuga töötamiseks

9. Selles jaotises näitame, kuidas seadistada lakivahemälu Nginxi ees töötama. Vaikimisi kuulab Nginx porti 80, tavaliselt on iga serveriplokk (või virtuaalne host) konfigureeritud selles pordis kuulama.

Vaadake näiteks peamist konfiguratsioonifaili (/etc/nginx/nginx.conf) konfigureeritud vaikimisi nginxi serveriplokki.

# vi /etc/nginx/nginx.conf

Otsige serveri blokeerimise jaotist, nagu on näidatud järgmisel ekraanipildil.

10. Laki käitamiseks Nginxi ees peaksite muutma Nginxi vaikepordi 80-lt 8080-le (või mis tahes muu teie valitud pordile).

Seda tuleks teha kõigis tulevastes serveriplokkide konfiguratsioonifailides (mis tavaliselt luuakse /etc/nginx/conf.d/ all) saitidele või veebirakendustele, mida soovite Varnishi kaudu serveerida.

Näiteks meie testsaidi tecmint.lan serveriplokk on /etc/nginx/conf.d/tecmint.lan.conf ja sellel on järgmine konfiguratsioon.

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ähtis: Ärge unustage vaikeserveriplokk välja lülitada, kommenteerides selle /etc/nginx/nginx.conf failis selle konfiguratsiooniosa, nagu on näidatud järgmisel ekraanipildil. See võimaldab teil oma serveris teisi veebisaite/rakendusi käivitada, vastasel juhul suunab Nginx alati päringud vaikeserveriplokki.

11. Kui konfigureerimine on lõpule jõudnud, kontrollige konfiguratsioonifaili võimalike vigade suhtes ja taaskäivitage Nginxi teenus, et rakendada viimaseid muudatusi.

# nginx -t
# systemctl restart nginx

12. Järgmisena peame klientidelt HTTP-päringute saamiseks konfigureerima Varnishi töötama pordil 80. Erinevalt Varnish Cache'i varasematest versioonidest, kus see muudatus tehti keskkonnafailis Varnish (mis on nüüdseks aegunud), versioonis 6.0 ja ülal.

Peame tegema laki teenusefailis vajaliku muudatuse. Sobiva teenusefaili redigeerimiseks avamiseks käivitage järgmine käsk.

# systemctl edit --full  varnish

Leidke järgmine rida ja muutke lüliti -a väärtust, mis määrab kuulamisaadressi ja pordi. Määrake porti 80, nagu on näidatud järgmisel ekraanipildil.

Pange tähele, kui te aadressi ei määra, kuulab varnishd kõiki serveris aktiivseid IPv4 ja IPv6 liideseid.

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Salvestage muudatused faili ja väljuge.

13. Järgmisena peate määratlema taustserveri, mida lakk külastab sisu toomiseks. Seda tehakse laki peamises konfiguratsioonifailis.

# vi /etc/varnish/default.vcl 

Otsige taustaprogrammi vaikeseadistuste jaotist ja muutke stringi “default” väärtuseks server1 (või mis tahes valitud nimi, mis tähistab teie päritoluserverit). Seejärel määrake porti väärtuseks 8080 (või teie serveriplokis määratletud Nginxi kuulamisport).

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

Selle juhendi jaoks töötame Varnish ja Nginx ühes serveris. Kui teie Nginxi veebiserver töötab teises hostis. Näiteks teine server aadressiga 10.42.0.247, seejärel määrake parameeter .host , nagu näidatud.

backend server1 {
    .host = "10.42.0.247";
    .port = "8080";
}

Salvestage fail ja sulgege see.

14. Järgmisena peate värskendama süsteemihalduri konfiguratsiooni, kuna hiljutised muudatused on teenusefailis Varnish, seejärel taaskäivitage teenus Varnish, et muudatused järgmiselt rakendada.

# systemctl daemon-reload
# systemctl restart varnish

15. Nüüd kinnitage, et Nginx ja Varnish kuulavad seadistatud TCP-pistikupesasid.

# ss -tpln

4. samm: Nginxi laki vahemälu seadistamise testimine

16. Järgmisena kontrollige, kas veebilehti serveeritakse Varnish Cache kaudu järgmiselt. Avage veebibrauser ja navigeerige serveri IP või FDQN abil, nagu on näidatud järgmisel ekraanipildil.

http://www.tecmin.lan
OR
http://10.42.0.144

17. Teise võimalusena kasutage käsku curl nagu näidatud. Kasutage oma serveri IP-aadressi või veebisaidi FQDN-i või kasutage 127.0.0.1 või localhost, kui testite kohapeal.

# curl -I http:///www.tecmint.lan

Kasulikud laki vahemälu haldamise utiliidid

18. Selles viimases osas kirjeldame lühidalt mõningaid kasulikke utiliidiprogramme, millega Varnish Cache kaasas on, mille abil saate juhtida lakki, pääseda juurde mälus olevatele logidele ning üldisele statistikale ja muule.

varnishadm utiliiti töötava Varnishi eksemplari juhtimiseks. See loob CLI-ühenduse lakiga. Näiteks saate seda kasutada konfigureeritud taustaprogrammide loetlemiseks, nagu on näidatud järgmisel ekraanipildil (lisateabe saamiseks lugege man varnishadm).

# varnishadm
varnish> backend.list

Lakkipäeviku utiliit võimaldab juurdepääsu taotlusepõhistele andmetele. See pakub teavet konkreetsete klientide ja taotluste kohta (lisateabe saamiseks lugege man varnishlog'i).

# varnishlog

Lakkstatistika, mida nimetatakse ka lakistatistikaks, mis annab teile ülevaate Varnishi praegusest toimivusest, pakkudes juurdepääsu mälusisesele statistikale nagu vahemälu tabamused ja vastamatajätmised, teave salvestusruumi, loodud lõimede ja kustutatud objektide kohta (lisateabe saamiseks lugege man varnishstat) .

# varnishstat 

Lakktopi utiliit loeb jagatud mälulogid ja esitab pidevalt uueneva loendi kõige sagedamini esinevatest logikirjetest (lisateabe saamiseks lugege man lakiplaati).

# varnishtop 

Lakkiaparaat (lakiajalugu) sõelub lakipalke ja väljastab pidevalt ajakohastatud histogrammi, mis näitab viimaste n päringu jaotust nende töötlemise järgi (lisateabe saamiseks lugege man lakisti hist).

# varnishhist

See on kõik! Selles juhendis oleme näidanud, kuidas installida Varnish Cache ja käivitada see Nginx HTTP serveri ees, et kiirendada veebisisu edastamist CentOS/RHEL 8-s.

Kõiki selle juhendi mõtteid või küsimusi saab jagada alloleva tagasiside vormi abil. Lisateabe saamiseks lugege laki vahemälu dokumentatsiooni.

Varnish Cache peamine puudus on HTTPS-i kohaliku toe puudumine. Oma veebisaidil/rakenduses HTTPS-i lubamiseks peate oma saidi kaitsmiseks konfigureerima SSL/TLS-i lõpetamise puhverserveri, mis töötab koos lakivahemikuga. Järgmises artiklis näitame, kuidas lubada HTTPS laki vahemälu jaoks, kasutades CentOS/RHEL 8 Hitchi.