Kā paātrināt Apache ar lakas kešatmiņu CentOS 7


Lakas kešatmiņa (parasti pazīstama kā Laka) ir atvērta pirmkoda populārs reversās starpniekservera HTTP paātrinātājs, kas paredzēts tīmekļa serveru paātrināšanai. Tas ir paredzēts pārmērīgi izmantotiem API galapunktiem, kā arī dinamiskām vietnēm, kas apkalpo masveida saturu un nodrošina lielu trafiku.

Tas būtībā palīdz samazināt CPU slodzi; atbalsta slodzes līdzsvarošanu tīmekļa serveros un ļauj tīmekļa pārlūkprogrammai ātri ielādēt vietnes kešatmiņas saglabāšanas rezultātā RAM. Vairāki lieli uzņēmumi to izmanto, tostarp Facebook, Twitter un Wikipedia.

  1. CentOS 7 ar instalētu Apache
  2. CentOS 7 ar statisku IP adresi

Šajā rakstā es paskaidrošu, kā instalēt un izmantot Varnish Cache 6.5 kā priekšnosacījumu Apache tīmekļa serverim CentOS 7 (darbojas arī ar RHEL 7).

1. darbība: instalējiet Apache tīmekļa serveri CentOS 7

1. Vispirms instalējiet Apache HTTP serveri no noklusējuma programmatūras CentOS krātuvēm, izmantojot YUM pakotņu pārvaldnieku šādi.

# yum install httpd

2. Kad Apache ir instalēts, palaidiet to pagaidām un ļaujiet tam automātiski startēt sistēmas sāknēšanas laikā.

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

3. Nākamais atjauniniet sistēmas ugunsmūra noteikumus, lai atļautu ienākošās paketes 80. portā, izmantojot tālāk norādītās komandas.

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

2. darbība: CentOS 7 instalējiet lakas kešatmiņu

4. Tagad ir iepriekš sastādītas RPM paketes jaunākajai Varnish Cache 6 versijai (t.i., 6.5 rakstīšanas laikā), tāpēc jums jāpievieno oficiālā Lakas kešatmiņas krātuve.

Pirms tam jums jāiespējo EPEL repozitorijs, lai instalētu vairākas atkarības paketes, kā parādīts.

# yum install -y epel-release

5. Pēc tam instalējiet paketi GPG parakstu un yum-utils apstrādei - pygpgme - noderīgu utilītu kolekciju, kas dažādos veidos paplašina yum vietējās funkcijas.

# yum install pygpgme yum-utils

6. Tagad izveidojiet failu ar nosaukumu /etc/yum.repos.d/varnishcache_varnish65.repo, kas satur zemāk esošo krātuves konfigurāciju.

# vi /etc/yum.repos.d/varnishcache_varnish65.repo

Svarīgi: Noteikti nomainiet el un 7 zemāk esošajā konfigurācijā ar savu Linux izplatīšanu un versiju:

[varnishcache_varnish65]
name=varnishcache_varnish65
baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[varnishcache_varnish65-source]
name=varnishcache_varnish65-source
baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

7. Tagad palaidiet zemāk esošo komandu, lai atjauninātu vietējo yum kešatmiņu un instalētu lakas kešatmiņas pakotni (neaizmirstiet pieņemt GPG atslēgu, instalējot y vai yes . iepakojums):

# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65'
# yum install varnish 

8. Pēc Varnish Cache instalēšanas galvenais izpildāmais fails tiks instalēts kā/usr/sbin/varnishd un lakas konfigurācijas faili atrodas mapē/etc/varnish /:

  • /etc/varnish/default.vcl - tas ir galvenais lakas konfigurācijas fails, tas tiek rakstīts, izmantojot vanish configuration language (VCL).

9. Tagad palaidiet lakas pakalpojumu, ļaujiet tam automātiski startēt sistēmas sāknēšanas laikā un pārbaudiet tā statusu, lai pārliecinātos, ka tas darbojas un darbojas šādi.

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

10. Jūs varat apstiprināt, ka Lakas instalēšana bija veiksmīga, redzot jūsu sistēmā instalētās Lakas lakas un versijas atrašanās vietu.

$ which varnishd
$ varnishd -V
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2020 Varnish Software

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

11. Tagad konfigurējiet Apache darbam kopā ar Lakas kešatmiņu. Pēc noklusējuma Apache klausās 80. portu, jums ir jāmaina noklusējuma HTTPD ports uz 8080 - tas nodrošinās, ka HTTPD darbojas aiz lakas kešatmiņas.

Varat izmantot komandu sed, lai nomainītu 80. portu uz 8080, kā parādīts attēlā.

# sed -i "s/Listen 80/Listen 8080/" /etc/httpd/conf/httpd.conf

Piezīme. Turklāt jums jāmaina katras vietnes, kuru vēlaties apkalpot, izmantojot laku, virtuālās resursdatora konfigurācijas ports. Šeit ir mūsu testa vietnes konfigurācija (/etc/httpd/conf.d/tecmint.lan.conf).

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

12. Pēc tam atveriet lakas systemd konfigurācijas failu un atrodiet parametru ExecStart, kas norāda portu, kuru laku klausās, un mainiet tā vērtību no 6081 uz 80, kā parādīts ekrānuzņēmumā.

# systemctl edit --full  varnish

Pēc pabeigšanas konfigurācijai vajadzētu izskatīties šādi.

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

13. Pēc tam iestatiet Apache kā aizmugures serveri Lakas starpniekserverim /etc/varnish/default.vcl konfigurācijas failā.

# vi /etc/varnish/default.vcl 

Atrodiet aizmugures sadaļu un definējiet resursdatora IP un portu. Zemāk ir noklusējuma aizmugures konfigurācija, iestatiet to, lai norādītu uz jūsu faktisko satura serveri.

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

Ja jūsu aizmugures serveris darbojas citā serverī ar adresi 10.42.1.10, resursdatora parametram jānorāda uz šo IP adresi.

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

14. Pēc visu nepieciešamo konfigurāciju veikšanas restartējiet HTTPD un Laka kešatmiņu, lai veiktu iepriekš minētās izmaiņas.

# systemctl daemon-reload
# systemctl restart httpd
# systemctl restart varnish

4. darbība. Pārbaudiet lakas kešatmiņu Apache

15. Visbeidzot, pārbaudiet, vai Laka ir iespējota un strādā ar HTTPD pakalpojumu, izmantojot zemāk esošo komandu cURL, kuru var izmantot, lai apskatītu HTTP galveni.

# curl -I http://localhost
HTTP/1.1 200 OK
Date: Wed, 06 Jan 2021 08:36:07 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8
X-Varnish: 131085
Age: 0
Via: 1.1 varnish (Varnish/6.5)
Connection: keep-alive

Lai iegūtu papildinformāciju, skatiet Lakas kešatmiņas Github repozitoriju: https://github.com/varnishcache/varnish-cache

Šajā apmācībā mēs paskaidrojām, kā iestatīt Apache HTTP servera starpniekservera 6.5 starpniekserveri CentOS 7. Ja jums ir kādi jautājumi vai papildu idejas, ar ko dalīties, izmantojiet tālāk sniegto atsauksmju veidlapu, lai rakstītu mums atpakaļ.