Kā instalēt Nginx lakas kešatmiņu CentOS/RHEL 8


Lakas kešatmiņa (parasti saukta par laku) ir atvērtā koda, jaudīgs un ātrs HTTP starpniekservera paātrinātājs ar modernu arhitektūru un elastīgu konfigurācijas valodu. Tas, ka esat pretējs starpniekserveris, vienkārši nozīmē, ka tā ir programmatūra, kuru varat izvietot sava tīmekļa servera (kas ir izcelsmes serveris vai aizmugure), piemēram, Nginx, priekšā, lai saņemtu klientu HTTP pieprasījumus un pārsūtītu tos izcelsmes serverim apstrādei. Un tas nodrošina atbildi no izcelsmes servera klientiem.

Laka darbojas kā starpnieks starp Nginx un klientiem, taču ar zināmām priekšrocībām. Tās galvenais mērķis ir panākt, lai jūsu lietojumprogrammas tiktu ielādētas ātrāk, strādājot par kešatmiņu. Tas saņem pieprasījumus no klientiem un vienreiz pārsūta tos aizmugurē, lai kešatmiņā saglabātu pieprasīto saturu (saglabātu failus un failu fragmentus atmiņā). Tad visi nākamie pieprasījumi pēc tieši līdzīga satura tiks piegādāti no kešatmiņas.

Tas ļauj jūsu tīmekļa lietojumprogrammas ielādēt ātrāk un netieši uzlabo jūsu tīmekļa servera kopējo veiktspēju, jo laka rādīs saturu no atmiņas, nevis Nginx apstrādās failus no atmiņas diska.

Papildus kešatmiņai Varnish ir arī vairāki citi izmantošanas gadījumi, tostarp HTTP pieprasījumu maršrutētājs un slodzes līdzsvarotājs, tīmekļa lietojumprogrammu ugunsmūris un daudz ko citu.

Laka ir konfigurēta, izmantojot ļoti paplašināmo iebūvēto lakas konfigurācijas valodu (VCL), kas ļauj rakstīt politikas par to, kā rīkoties ar ienākošajiem pieprasījumiem. To var izmantot, lai izveidotu pielāgotus risinājumus, kārtulas un moduļus.

Šajā rakstā mēs veiksim soļus, lai instalētu Nginx tīmekļa serveri un Lakas kešatmiņu 6 svaigā CentOS 8 vai RHEL 8 serverī. RHEL 8 lietotājiem jāpārliecinās, vai viņi iespēj redhat abonēšanu.

Lai iestatītu pilnu LEMP kaudzīti, nevis tikai instalējiet Nginx tīmekļa serveri, pārbaudiet šīs rokasgrāmatas.

  1. Kā instalēt LEMP serveri CentOS 8
  2. Kā instalēt LEMP serveri RHEL 8

1. darbība: instalējiet Nginx tīmekļa serveri vietnē CentOS/RHEL 8

1. CentOS/RHEL 8 tiek piegādāts ar jaunāko Nginx tīmekļa servera programmatūras versiju, tāpēc mēs to instalēsim no noklusējuma krātuves, izmantojot šādas dnf komandas.

# dnf update
# dnf install nginx

2. Kad Nginx ir instalēts, jums jāsāk, jāaktivizē un jāpārbauda statuss, izmantojot šādas sistēmasctl komandas.

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

3. Ja jums ir maz intereses, varat pārbaudīt arī ligzdu Nginx TCP, kas pēc noklusējuma darbojas 80. portā, izmantojot šādu komandu ss.

# ss -tpln

4. Ja sistēmā darbojas ugunsmūris, noteikti atjauniniet ugunsmūra noteikumus, lai atļautu pieprasījumus tīmekļa serverim.

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

2. solis: Lakas kešatmiņas 6 instalēšana CentOS/RHEL 8

5. CentOS/RHEL 8 pēc noklusējuma nodrošina lakas kešatmiņas DNF moduli, kas satur 6.0 LTS versiju (ilgtermiņa atbalsts).

Lai instalētu moduli, palaidiet šādu komandu.

# dnf module install varnish

6. Kad moduļa instalēšana ir pabeigta, varat apstiprināt savā sistēmā instalēto lakas versiju.

# varnishd -V

7. Pēc Varnish Cache instalēšanas galvenā izpildāmā komanda, kas instalēta zem/usr/sbin/varnishd un lakas konfigurācijas failiem, atrodas mapē/etc/varnish /.

Fails /etc/varnish/default.vcl ir galvenais lakas konfigurācijas fails, kas rakstīts, izmantojot VCL, un/etc/varnish/secret ir lakas slepenais fails.

8. Pēc tam palaidiet pakalpojumu Laka, ļaujiet tam automātiski startēt sistēmas sāknēšanas laikā un apstipriniet, ka tas darbojas un darbojas.

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

3. darbība: Nginx konfigurēšana darbam ar lakas kešatmiņu

9. Šajā sadaļā mēs parādīsim, kā konfigurēt lakas kešatmiņu, lai tā darbotos Nginx priekšā. Pēc noklusējuma Nginx klausās 80. portā, parasti katrs servera bloks (vai virtuālais resursdators) ir konfigurēts tā, lai klausītos šajā ostā.

Piemēram, apskatiet noklusējuma servera bloku nginx, kas konfigurēts galvenajā konfigurācijas failā (/etc/nginx/nginx.conf).

# vi /etc/nginx/nginx.conf

Meklējiet servera bloka sadaļu, kā parādīts nākamajā ekrānuzņēmumā.

10. Lai palaistu laku Nginx priekšā, jānomaina noklusējuma Nginx ports no 80 uz 8080 (vai jebkuru citu jūsu izvēlētu portu).

Tas jādara visos turpmākajos serveru bloku konfigurācijas failos (parasti tie tiek izveidoti sadaļā /etc/nginx/conf.d/) vietnēm vai tīmekļa lietojumprogrammām, kuras vēlaties apkalpot, izmantojot Varnish.

Piemēram, mūsu testa vietnes tecmint.lan servera bloks ir /etc/nginx/conf.d/tecmint.lan.conf, un tam ir šāda konfigurācija.

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 {
        }
}

Svarīgi: Atcerieties atspējot noklusējuma servera bloku, komentējot tā konfigurācijas sadaļu failā /etc/nginx/nginx.conf, kā parādīts nākamajā ekrānuzņēmumā. Tas ļauj sākt palaist citas vietnes/lietojumprogrammas savā serverī, pretējā gadījumā Nginx vienmēr novirzīs pieprasījumus uz noklusējuma servera bloku.

11. Kad konfigurācija ir pabeigta, pārbaudiet, vai konfigurācijas failā nav kļūdu, un restartējiet pakalpojumu Nginx, lai lietotu pēdējās izmaiņas.

# nginx -t
# systemctl restart nginx

12. Pēc tam, lai saņemtu HTTP pieprasījumus no klientiem, mums jākonfigurē Laka, lai tā darbotos 80. portā. Atšķirībā no iepriekšējām Lakas kešatmiņas versijām, kur šīs izmaiņas tika veiktas Lakas vides failā (kas tagad ir novecojis), versijā 6.0 un virs.

Mums jāveic nepieciešamās izmaiņas lakas servisa failā. Palaidiet šo komandu, lai rediģēšanai atvērtu atbilstošo servisa failu.

# systemctl edit --full  varnish

Atrodiet šo rindu un mainiet slēdža -a vērtību, kas norāda klausīšanās adresi un portu. Iestatiet portu uz 80, kā parādīts nākamajā ekrānuzņēmumā.

Ņemiet vērā, ja neesat norādījis adresi, varnishd klausīsies visas pieejamās IPv4 un IPv6 saskarnes, kas ir aktīvas serverī.

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

Saglabājiet izmaiņas failā un izejiet.

13. Tālāk jums jānosaka aizmugures serveris, kuru Laka apmeklēs, lai iegūtu saturu. Tas tiek darīts lakas galvenajā konfigurācijas failā.

# vi /etc/varnish/default.vcl 

Meklējiet noklusējuma aizmugures konfigurācijas sadaļu un nomainiet virkni “default” uz server1 (vai jebkuru citu jūsu izvēlētu nosaukumu, kas apzīmē jūsu izcelsmes serveri). Pēc tam iestatiet portu uz 8080 (vai servera blokā noteikto Nginx klausīšanās portu).

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

Šajā rokasgrāmatā mēs vienā un tajā pašā serverī palaižam Laka un Nginx. Ja jūsu Nginx tīmekļa serveris darbojas citā resursdatorā. Piemēram, citu serveri ar adresi 10.42.0.247, pēc tam iestatiet parametru .host , kā parādīts.

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

Saglabājiet failu un aizveriet to.

14. Pēc tam jums ir atkārtoti jāielādē systemd manager konfigurācija, jo nesen ir veiktas izmaiņas lakas servisa failā, pēc tam restartējiet pakalpojumu laku, lai piemērotu izmaiņas šādi.

# systemctl daemon-reload
# systemctl restart varnish

15. Tagad apstipriniet, ka Nginx un Varnish klausās konfigurētās TCP ligzdas.

# ss -tpln

4. darbība: Nginx Lakas kešatmiņas iestatīšanas pārbaude

16. Pēc tam pārbaudiet tīmekļa lapu apkalpošanu, izmantojot lakas kešatmiņu, šādi. Atveriet tīmekļa pārlūkprogrammu un pārvietojieties, izmantojot servera IP vai FDQN, kā parādīts nākamajā ekrānuzņēmumā.

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

17. Alternatīvi izmantojiet čokurošanās komandu, kā parādīts. Izmantojiet sava servera IP adresi vai vietnes FQDN vai izmantojiet 127.0.0.1 vai localhost, ja testējat lokāli.

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

Noderīgi lakas kešatmiņas administrēšanas utilīti

18. Šajā pēdējā sadaļā mēs īsi aprakstīsim dažas noderīgas lietderības programmas, ar kurām tiek piegādāts Lakas kešatmiņa, un kuras varat izmantot, lai kontrolētu laku, piekļūtu atmiņas žurnāliem un vispārējai statistikai un daudz ko citu.

varnishadm lietderība, lai kontrolētu darbojošos Lakas instanci. Tas izveido CLI savienojumu ar laku. Piemēram, to var izmantot, lai uzskaitītu konfigurētos aizmugurus, kā parādīts nākamajā ekrānuzņēmumā (lai iegūtu papildinformāciju, lasiet man varnishadm)

# varnishadm
varnish> backend.list

Laka žurnāla utilīta nodrošina piekļuvi pieprasījumam raksturīgiem datiem. Tas piedāvā informāciju par konkrētiem klientiem un pieprasījumiem (lai iegūtu vairāk informācijas, lasiet man varnishlog).

# varnishlog

Lishstat, kas pazīstams arī kā lakas statistika, kas ļauj jums ieskatīties pašreizējā Varnish sniegumā, nodrošinot piekļuvi atmiņas statistikai, piemēram, kešatmiņas trāpījumiem un kļūdām, informācijai par krātuvi, izveidotajiem pavedieniem, izdzēstajiem objektiem (lai iegūtu papildinformāciju, lasiet man man .

# varnishstat 

Lakktop lietderība nolasa koplietojamās atmiņas žurnālus un uzrāda nepārtraukti atjauninātu sarakstu ar visbiežāk sastopamajiem žurnāla ierakstiem (lai iegūtu papildinformāciju, lasiet man varnishtop).

# varnishtop 

Lakatista (lakas vēstures) lietderība parsē laku žurnālus un izsniedz nepārtraukti atjauninātu histogrammu, kurā parādīts pēdējo n pieprasījumu sadalījums pēc to apstrādes (lai iegūtu vairāk informācijas, lasiet cilvēka lakošanas žurnālu).

# varnishhist

Tas ir viss! Šajā ceļvedī mēs parādījām, kā instalēt Lakas kešatmiņu un palaist to Nginx HTTP servera priekšā, lai paātrinātu tīmekļa satura piegādi CentOS/RHEL 8.

Jebkuras domas vai jautājumi par šo rokasgrāmatu var tikt koplietoti, izmantojot zemāk esošo atsauksmju veidlapu. Lai iegūtu papildinformāciju, izlasiet dokumentāciju Lakas kešatmiņa.

Lakas kešatmiņas galvenais trūkums ir vietējā atbalsta trūkums HTTPS. Lai savā vietnē/lietojumprogrammā iespējotu HTTPS, jums jākonfigurē SSL/TLS izbeigšanas starpniekserveris, lai tas darbotos kopā ar lakas kešatmiņu, lai aizsargātu jūsu vietni. Nākamajā rakstā mēs parādīsim, kā iespējot HTTPS lakas kešatmiņai, izmantojot CentOS/RHEL 8 Hitch.