CentOS/RHEL 8-de Apache üçin lak keşini nädip gurmaly


Lak Keş mugt açyk çeşme, häzirki zaman we ýokary öndürijilikli web programma tizlendiriji. Web serweriň işleýşini çaltlaşdyrmak üçin web mazmunyny serweriň ýadynda - keş görnüşinde saklamak bilen çalt ters HTTP proksi. Apache (HTTPD) web serweri ýaly başlangyç serweriň öňünde işlemek üçin düzülendir.

Müşderi mazmun sorasa, Varnish HTTP haýyşyny kabul edýär, haýyşy başlangyç serwere iberýär, yzyna gaýtarylan zatlary keşde saklaýar we müşderiniň haýyşyna jogap berýär. Müşderi indiki gezek şol bir mazmun üçin haýyş edeninde, Varnish keşden hyzmat eder. Şeýlelik bilen, geljekdäki ekwiwalent islegler boýunça jogap wagtyny we toruň geçirijilik ukybyny azaldýar.

Lak, şeýle hem, HTTP haýyş marşrutizatory, web programma gorag diwary, ýük balanseri we başgalar hökmünde işleýär. Lak modullaryny (VMODs diýlip hem atlandyrylýar) ulanyp giňeldilip bilinýän, “Edge Side Includes” (ESL), Gzip gysyş we dekompressiýa we başga-da köp ulanylýan çeýe lak konfigurasiýa dili (VCL) arkaly düzülendir.

Bu makalada, täze CentOS/RHEL 8 serwerinde Apache HTTPD web serwerini we Varnish Cache 6-y nädip gurmalydygyny öwrenersiňiz, şol sanda HTTPD serweriniň öňünde işlemek üçin Varnish-i düzmek.

  • CentOS 8 gurnamaly serwer
  • Ulgamyňyzda Red Hat abuna ýazylan serwer.

1-nji ädim: CentOS/RHEL 8-de Apache web serwerini gurmak

1. DNF buýrugyny ulanyp, ulgamdaky ähli gurnalan programma üpjünçilik paketlerini aşakdaky ýaly täzeläp başlaň.

# dnf update

2. Ondan soň, AppStream ammaryndan Apache HTTP web serwerini gurmak üçin aşakdaky buýrugy işlediň.

# dnf install httpd

3. Gurmak tamamlan badyna, httpd hyzmatyny başlaň, ulgam ýüklenende awtomatiki başlamaga mümkinçilik beriň we systemctl buýrugyny ulanyp, işleýändigini we işleýändigini tassyklamak üçin ýagdaýyny barlaň.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

4. Düzgüne görä CentOS/RHEL 8 doly gulplanan diwar diwaryny öz içine alýar (tassyklamak üçin firewall-cmd - döwleti işlediň). Ulanyjylara web sahypalaryna ýa-da HTTP-den işleýän programmalara girmäge rugsat bermek üçin gorag diwaryndaky HTTP hyzmatyna giriş açmaly, täze üýtgeşmeleri ulanmak üçin firewalld sazlamalaryny täzeden açmaly.

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

2-nji ädim: CentOS/RHEL 8-de lak keşi 6.4 gurmak

5. Indi “Apache” web serweri işleýänsoň, aşakdaky buýrugy ulanyp, “Varnish Cache” -ni gurup bilersiňiz.

# dnf module install varnish

6. Üstünlikli gurnandan soň, ulgamyňyza gurlan Varnish wersiýasyny barlap bilersiňiz.

# varnishd -V

7. Ondan soň esasy ýerine ýetirip boljak/usr/sbin/lakishd hökmünde gurulýar. Şeýle hem, Lak konfigurasiýa faýllary/etc/lak katalogynda saklanýar, bu ýerde:

  • /etc/varnish/default.vcl - VCL ulanyp ýazylan esasy lak konfigurasiýa faýly.
  • /etc/lak/syr - lak gizlin faýl.

8. Indi lak hyzmatyna başlaň, häzirlikçe, serwer täzeden başlanan ýagdaýynda ulgam ýüklenende awtomatiki başlamaga mümkinçilik beriň we aşakdaky ýaly işleýändigini we işleýändigini anyklamak üçin ýagdaýyny barlaň.

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

3-nji ädim: Apache-ni lak keşi bilen işlemek üçin düzmek

9. Indi “Apache” hyzmatynyň öňünde işlemek üçin “Varnish Cache” -ni düzmegiň wagty. Adaty tertipde Apache serweri 80-nji portda diňlemek üçin düzülendir, bu esasy konfigurasiýa faýlynda /etc/httpd/conf/httpd.conf kesgitlenýär.

Halaýan tekst redaktoryňyzy ulanyp redaktirlemek üçin açyň.

# vi /etc/httpd/conf/httpd.conf

Diňlemek parametrini gözläň. “Apache” serweriniň öňünde “Varnish” -i işletmek üçin aşakdaky skrinshotda görkezilişi ýaly deslapky porty 80-den 8080-e (ýa-da islän portuňyzy) üýtgetmeli.

Bu port, soňraky Varnish konfigurasiýa faýlynda arka serwer porty hökmünde goşular.

Şeýle hem, “Varnish” -iň üsti bilen hyzmat etjek her bir web sahypasy/programma üçin wirtual host konfigurasiýasy ýokardaky porty diňlemek üçin düzülmelidir. Ine, synag sahypamyzyň (/etc/httpd/conf.d/tecmint.lan.conf) konfigurasiýasy.

<VirtualHost *:8080>
    DocumentRoot "/var/www/html/tecmint.lan/"
    ServerName www.tecmint.lan
    # Other directives here
</VirtualHost>

Üns beriň: Adaty Apache HTTP serwer synag sahypasynyň hiç wagt ulanylmagynyň öňüni almak üçin /etc/httpd/conf.d/welcome.conf faýlyndaky ähli setirleri düşündiriň ýa-da faýly öçüriň.

# rm /etc/httpd/conf.d/welcome.conf 

10. Ondan soň, ýalňyşlyklar üçin httpd konfigurasiýa sintaksisini barlaň. Gowy bolsa, täze üýtgeşmeleri ulanmak üçin httpd hyzmatyny täzeden açyň.

# httpd -t
# systemctl restart httpd

11. Varnişi HTTPD-iň öňünde ýerleşdirmek üçin, aşakda düşündirilişi ýaly deslapky HTTP port 80-de müşderiniň isleglerini diňlemek üçin sazlamaly.

“Varnish Cache 6.0” we ondan ýokary derejelerde “lak” lak serwerini systemd üçin “Varnish” hyzmat faýlynda diňleýänini bellemeli. Ilki bilen redaktirlemek üçin açyň.

# systemctl edit --full  varnish

ExecStart setirini gözläň, soňra : 6081 dan : 80-e -a wyklýuçateliniň (adresi we porty lak diňlemegini kesgitleýär) bahasyny üýtgediň. aşakdaky skrinshotda görkezilişi ýaly .

Möhümi, adresi görkezmeseňiz, lakd serwerde işleýän ähli IPv4 we IPv6 interfeýslerini diňlär.

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

Faýldaky üýtgeşmeleri ýazdyryň we çykyň.

12. Indi, Warniş terminologiýasynda arka tarapy hökmünde tanalýan gelip çykyş serwerini sazlamaly. HTTP-ä düşünýän serwer, Varnish bilen gürleşýär, mazmuny almak üçin - bu ýagdaýda httpd. Esasy konfigurasiýa faýlynda /etc/varnish/default.vcl düzüldi.

# vi /etc/varnish/default.vcl 

Dymmaklyk diýilýän deslapky arka konfigurasiýa bölümi bar. Serwer1-e (ýa-da daşky gurşaw standartlaryna laýyk gelýän islendik adyňyzy) üýtgedip bilersiňiz. Dymmaklyk boýunça, baş serwer ýerlihostda işleýär öýdüp, ýerli hosty görkezýär.

Soňra porty skrinshotda görkezilişi ýaly 8080-e (Apache wirtual host konfigurasiýa faýlynda kesgitlän portuňyzy) düzüň.

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

Arka serweriňiz başga bir hostda işleýän bolsa, mysal üçin 10.42.1.10 salgysy bolan başga bir serwerde işleýän bolsa, baş parametr bu IP adresi görkezmeli.

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

Faýly ýazdyryň we ýapyň.

13. Lak bilen baglanyşykly ähli zerur üýtgeşmeleri girizeniňizden soň, Varnish hyzmat faýlyndaky täze üýtgeşmeleri görkezmek üçin systemd dolandyryjy konfigurasiýasyny täzeden açyň we umumy üýtgeşmeleri ulanmak üçin Varnish hyzmatyny täzeden açyň.

# systemctl daemon-reload
# systemctl restart varnish

14. Şu wagt Warnish we Apache degişlilikde 80 we 8080 portda diňlemeli. Soket statistika buýrugyny ulanyp muny tassyklap bilersiňiz.

# ss -tpln

4-nji ädim: Lak keşini we Apache sazlamasyny barlamak

14. “Varnish Cache-HTTPD” sazlamasyny barlamak üçin web brauzerini açyň we aşakdaky skrinshotda görkezilişi ýaly IP ýa-da FQDN serwerini ulanyp geziň.

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

Soňra “Varnish Cache” -iň üsti bilen web sahypalarynyň hyzmat edilýändigini ýa-da ýokdugyny barlaň. Görkezilýän web sahypasyna sag düwme bilen HTTP sözbaşylaryny barlaň, dörediji gurallary açmak üçin Barlamak saýlaň, soňra Ulgam goýmasyna basyň we sahypany täzeden ýükläň. Soňra aşakdaky skrinshotda görkezilişi ýaly tassyklamak üçin HTTP sözbaşylaryny görmek haýyşyny saýlaň.

Ativea-da bolmasa, barlamak üçin aşakdaky curl buýrugyny işledip bilersiňiz.

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

Peýdaly lak keş keş programmalary

15. Geliň, Varnish Keş paýlanyşynyň käbir peýdaly programmalaryna seredip, bu gollanmany gutaralyň. Lak keş keşini dolandyrmak, jikme-jik ýazgylary görkezmek we aşakda görkezilişi ýaly lak öndürijilik statistikasyny görmek üçin kömekçi enjamlary öz içine alýar.

Birinjisi, işleýän Larniş mysalyny dolandyrmak üçin ulanylýan lakamdyr. Lak bilen buýruk setiri interfeýs baglanyşygyny döredýär. Lakdan başlamak we duruzmak, konfigurasiýa parametrlerini üýtgetmek, VCL-i täzeden ýüklemek, arka taraplary sanawlamak we başgalar bilen lakyň işleýän ýagdaýyna täsir edip biler.

# varnishadm
> backend.list

Has giňişleýin maglumat üçin adam lakamyny okaň.

Indiki programma, haýyşa mahsus maglumatlara (meselem, belli müşderiler we haýyşlar hakda maglumat) girmek üçin ulanylýan lakly blogdyr. Köp mukdarda maglumat berýär, şonuň üçin adatça süzmek zerur.

# varnishlog

Has giňişleýin maglumat üçin adam lak lakyny okaň.

Şeýle hem, umumy islegleriň sany, obýektleriň sany we başgalar ýaly umumy statistika girmek üçin ulanylýan lak lak (lak statistikasy) bar.

# varnishstat

Has giňişleýin maglumat üçin adamy lak bilen okaň.

Soňra bolsa lak ýazgysyny okaýan we iň ýygy duş gelýän gündelik ýazgylaryň yzygiderli täzelenen sanawyny hödürleýän lak bar.

# varnishtop 

Has giňişleýin maglumat üçin adamy lak bilen okaň.

Anotherene bir peýdaly peýdaly zat, lakçy (lak taryhy) kömekçi enjam, lak ýazgylaryny okaýar we soňky N haýyşlaryny gaýtadan işlemek arkaly paýlanyşyny görkezýän yzygiderli täzelenen gistogrammany hödürleýär.

# varnishhist

Has giňişleýin maglumat üçin adamy lak bilen okaň.

Ol ýerde sen bar! CentOS/RHEL 8-de Apache HTTP Serwerini ulanyp hyzmat edilýän web programma mazmunyňyzy çaltlaşdyrmak üçin Varnish Keşini üstünlikli ýerleşdirdiňiz.

Bu mowzuk hakda soraglaryňyz ýa-da paýlaşmak üçin pikirleriňiz bar bolsa, aşakdaky jogap görnüşini ulanyň. Has giňişleýin maglumat üçin “Varnish Cache 6.0” resminamalaryna göz aýlaň.

Sahypaňyzda HTTPS-i işletmek isleseňiz, CentOS/RHEL 8-de Hitch ulanyp, lak keşi üçin SSL/TLS-i nädip işletmelidigini görkezýän indiki makalamyzy gözden geçiriň.