Installa Varnish Cache 5.2 biex Tsaħħaħ il-Prestazzjoni ta 'Apache fuq CentOS 7


Varnish Cache (magħruf komunement bħala Varnish), huwa aċċeleratur HTTP reverse-proxy popolari b'sors miftuħ maħsub biex iħaffef is-servers tal-web. Hija mfassla għal endpoints API utilizzati b'mod eċċessiv u wkoll għal siti dinamiċi li jservu kontenut massiv u jesperjenzaw traffiku għoli.

Bażikament jgħin biex jitnaqqas it-tagħbija tas-CPU; jappoġġja l-ibbilanċjar tat-tagħbija fuq is-servers tal-web u jippermetti lill-web browser biex jgħabbi malajr is-siti bħala riżultat tal-ħażna tal-cache fir-RAM. Numru ta’ kumpaniji kbar jużawha inklużi Facebook, Twitter, u Wikipedija biex insemmu biss ftit.

  1. CentOS 7 b'Apache installat
  2. CentOS 7 b'indirizz IP statiku

F'dan l-artikolu, ser nispjega kif tinstalla u tuża Varnish Cache 6.5 bħala front-end għal server web Apache f'CentOS 7 (jaħdem ukoll fuq RHEL 7).

Pass 1: Installa Apache Web Server fuq CentOS 7

1. L-ewwel installa s-server Apache HTTP mir-repożitorji default tas-softwer CentOS billi tuża l-maniġer tal-pakketti YUM kif ġej.

# yum install httpd

2. Ladarba Apache jiġi installat, ibdah għalissa u ppermettih jibda awtomatikament fil-boot tas-sistema.

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

3. Li jmiss taġġorna r-regoli tal-firewall tas-sistema biex tippermetti pakketti deħlin fuq il-port 80 billi tuża l-kmandi hawn taħt.

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

Pass 2: Installa Vernish Cache fuq CentOS 7

4. Issa hemm pakketti RPM miġbura minn qabel għall-aħħar verżjoni tal-Verniċ Cache 6 (jiġifieri 6.5 fil-ħin tal-kitba), għalhekk għandek bżonn iżżid ir-repożitorju uffiċjali tal-Verniċ Cache.

Qabel dan, trid tippermetti lir-repożitorju EPEL jinstalla diversi pakketti ta 'dipendenza kif muri.

# yum install -y epel-release

5. Sussegwentement, installa pygpgme, pakkett għall-immaniġġjar tal-firem GPG u yum-utils, ġabra ta 'utilitajiet utli li jestendu l-karatteristiċi indiġeni ta' yum b'diversi modi.

# yum install pygpgme yum-utils

6. Issa oħloq fajl bl-isem /etc/yum.repos.d/varnishcache_varnish65.repo li fih il-konfigurazzjoni tar-repożitorju hawn taħt.

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

Importanti: Kun żgur li tissostitwixxi el u 7 fil-konfigurazzjoni hawn taħt bid-distribuzzjoni u l-verżjoni tal-Linux tiegħek:

[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. Issa mexxi l-kmand hawn taħt biex taġġorna l-yum cache lokali tiegħek u tinstalla l-pakkett tal-cache tal-verniċ (tinsiex li taċċetta ċ-ċavetta GPG billi ttajpja y jew iva waqt li tinstalla l- pakkett):

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

8. Wara l-installazzjoni tal-Verniċ Cache, l-eżekutibbli prinċipali se jiġi installat bħala /usr/sbin/varnishd u l-fajls tal-konfigurazzjoni tal-verniċ jinsabu f'/etc/varnish/:

  • /etc/varnish/default.vcl – dan huwa l-fajl ewlieni tal-konfigurazzjoni tal-verniċ, huwa miktub bl-użu tal-lingwa tal-konfigurazzjoni tal-vanish (VCL).

9. Issa ibda s-servizz tal-verniċ, ppermettih jibda awtomatikament waqt il-boot tas-sistema, u ivverifika l-istatus tiegħu biex jiżgura li jkun qed jaħdem kif ġej.

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

10. Tista 'tikkonferma li l-installazzjoni tal-Verniċ kienet ta' suċċess billi tara l-post tal-eżekutibbli tal-Verniċ u l-verżjoni installata fis-sistema tiegħek.

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

Pass 3: Ikkonfigura Apache biex Taħdem Bil-Verniċ Cache

11. Issa kkonfigurat Apache biex jaħdem flimkien ma 'Verniċ Cache. B'mod awtomatiku Apache jisma' fuq il-port 80, għandek bżonn tibdel il-port default HTTPD għal 8080 - dan se jiżgura li HTTPD jaħdem wara l-caching tal-Verniċ.

Tista 'tuża l-kmand sed biex tibdel il-port 80 għal 8080 kif muri.

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

Nota: Ukoll, għandek bżonn tibdel il-port fuq il-konfigurazzjoni tal-host virtwali tiegħek għal kull websajt li trid isservi permezz tal-Verniċ. Hawnhekk hawn il-konfigurazzjoni għas-sit tat-test tagħna (/etc/httpd/conf.d/tecmint.lan.conf).

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

12. Sussegwentement, iftaħ il-fajl ta 'konfigurazzjoni systemd tal-verniċ u sib il-parametru ExecStart li jispeċifika l-port li jisma' Verniċ, u biddel il-valur tiegħu minn 6081 għal 80 kif muri fil-screenshot.

# systemctl edit --full  varnish

Il-konfigurazzjoni għandha tidher bħal din meta tkun lesta.

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

13. Sussegwentement, waqqaf Apache bħala server backend għal proxy Varnish, fil-fajl ta 'konfigurazzjoni /etc/varnish/default.vcl.

# vi /etc/varnish/default.vcl 

Sib is-sezzjoni backend, u ddefinixxi l-IP ospitanti u l-port. Hawn taħt tinsab il-konfigurazzjoni default backend, issettja din biex tipponta lejn is-server tal-kontenut attwali tiegħek.

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

Jekk is-server backend tiegħek qed jaħdem fuq server differenti bl-indirizz 10.42.1.10, allura l-parametru ospitanti għandu jindika dan l-indirizz IP.

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

14. Wara li twettaq il-konfigurazzjonijiet kollha meħtieġa, terġa 'tibda HTTPD u Verniċ cache biex taffettwa l-bidliet ta' hawn fuq.

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

Pass 4: Test Vernish Cache fuq Apache

15. Fl-aħħar nett, ittestja, jekk Verniċ huwiex attivat u jaħdem mas-servizz HTTPD billi tuża l-kmand cURL hawn taħt, li jista 'jintuża biex tara l-header HTTP.

# 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

Għal aktar informazzjoni, iċċekkja Vernish Cache Github Repository: https://github.com/varnishcache/varnish-cache

F'dan it-tutorja, spjegajna kif tissettja l-proxy Varnish Cache 6.5 għal server Apache HTTP fuq CentOS 7. F'każ li għandek xi mistoqsijiet jew ideat addizzjonali x'taqsam, uża l-formola ta 'feedback hawn taħt biex tiktebna lura.