Sanya Cache Varnish 5.2 don Haɓaka Ayyukan Apache akan CentOS 7


Cache Varnish (wanda aka fi sani da Varnish), tushen buɗe ido ne, mashahurin mai haɓakawa na HTTP wanda aka yi niyya don haɓaka sabar yanar gizo. An ƙirƙira shi don abubuwan ƙarshen API da aka yi amfani da su sosai da kuma don rukunan rukunan da ke ba da babban abun ciki da ƙwarewar zirga-zirga.

Yana taimakawa wajen rage nauyin CPU; yana goyan bayan daidaita nauyi akan sabar gidan yanar gizo kuma yana bawa mai binciken gidan yanar gizo damar yin saurin loda shafuka sakamakon adana cache a RAM. Yawancin manyan kamfanoni suna amfani da shi ciki har da Facebook, Twitter, da Wikipedia kawai don ambata amma kaɗan.

  1. A CentOS 7 tare da shigar Apache
  2. A CentOS 7 tare da adireshi IP na tsaye

A cikin wannan labarin, zan bayyana yadda ake shigarwa da amfani da Varnish Cache 6.5 a matsayin gaba-gaba zuwa sabar gidan yanar gizon Apache a cikin CentOS 7 (kuma yana aiki akan RHEL 7).

Mataki 1: Sanya Apache Web Server akan CentOS 7

1. Da farko shigar Apache HTTP uwar garken daga tsoffin ma'ajin software na CentOS ta amfani da manajan fakitin YUM kamar haka.

# yum install httpd

2. Da zarar Apache ya shigar, fara shi na ɗan lokaci kuma ya ba shi damar farawa ta atomatik a boot ɗin tsarin.

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

3. Sabunta tsarin dokokin Tacewar zaɓi na gaba don ba da izinin fakiti masu shigowa akan tashar jiragen ruwa 80 ta amfani da umarnin da ke ƙasa.

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

Mataki 2: Shigar Cache Varnish akan CentOS 7

4. Yanzu akwai fakitin RPM da aka riga aka haɗa don sabon sigar Varnish Cache 6 (watau 6.5 a lokacin rubutawa), saboda haka kuna buƙatar ƙara ma'ajin Cache na hukuma.

Kafin haka, kuna buƙatar kunna ma'ajiyar EPEL don shigar da fakitin dogaro da yawa kamar yadda aka nuna.

# yum install -y epel-release

5. Na gaba, shigar da pygpgme, kunshin don kula da sa hannun GPG da yum-utils, tarin kayan aiki masu amfani waɗanda ke fadada fasalin yum na asali ta hanyoyi daban-daban.

# yum install pygpgme yum-utils

6. Yanzu ƙirƙiri fayil mai suna /etc/yum.repos.d/varnishcache_varnish65.repo wanda ya ƙunshi tsarin ma'ajin da ke ƙasa.

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

Muhimmi: Tabbatar da maye gurbin el da 7 a cikin tsarin da ke ƙasa tare da rarraba Linux da sigar ku:

[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. Yanzu gudanar da umarnin da ke ƙasa don sabunta cache na gida na yum kuma shigar da kunshin cache na varnish (kar ku manta da karɓar maɓallin GPG ta hanyar buga y ko e yayin shigar da na'urar. kunshin):

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

8. Bayan shigar da Cache na Varnish, za a shigar da babban aiwatarwa azaman/usr/sbin/varnished da fayilolin sanyi na varnish suna cikin /etc/varnish/:

  • /etc/varnish/default.vcl – wannan shine babban fayil ɗin daidaitawar varnish, an rubuta ta ta amfani da harshen sanyi (VCL).

9. Yanzu fara sabis na varnish, ba shi damar farawa ta atomatik yayin boot ɗin tsarin, kuma tabbatar da matsayinsa don tabbatar da cewa yana aiki kamar haka.

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

10. Kuna iya tabbatar da cewa shigarwar Varnish ya yi nasara ta ganin wurin da ake aiwatar da Varnish da sigar da aka sanya akan tsarin ku.

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

Mataki 3: Sanya Apache don Aiki Tare da Cache Varnish

11. Yanzu saita Apache don yin aiki tare da Varnish Cache. Ta hanyar tsoho Apache yana sauraron tashar jiragen ruwa 80, kuna buƙatar canza tsohuwar tashar HTTPD zuwa 8080 - wannan zai tabbatar da cewa HTTPD yana gudana a bayan caching na Varnish.

Kuna iya amfani da umarnin sed don canza tashar jiragen ruwa 80 zuwa 8080 kamar yadda aka nuna.

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

Lura: Har ila yau, kuna buƙatar canza tashar jiragen ruwa a kan tsarin gidan yanar gizon ku na kowane gidan yanar gizon da kuke son yin hidima ta hanyar Varnish. Anan ga saitin rukunin yanar gizon mu (/etc/httpd/conf.d/tecmint.lan.conf).

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

12. Bayan haka, buɗe fayil ɗin sanyi na tsarin varnish kuma nemo parameter ExecStart wanda ke ƙayyade tashar tashar jiragen ruwa ta Varnish, kuma canza ƙimarta daga 6081 zuwa 80 kamar yadda aka nuna a cikin hoton.

# systemctl edit --full  varnish

Tsarin ya kamata yayi kama da wannan idan an gama.

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

13. Na gaba, saita Apache azaman uwar garken baya don wakili na Varnish, a cikin fayil ɗin sanyi /etc/varnish/default.vcl.

# vi /etc/varnish/default.vcl 

Nemo sashin baya, kuma ayyana mai watsa shiri IP da tashar jiragen ruwa. A ƙasa akwai saitunan baya na tsoho, saita wannan don nuna ainihin sabar abun ciki naku.

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

Idan uwar garken baya yana gudana akan wata uwar garken daban mai adireshi 10.42.1.10, to yakamata ma'aunin mai watsa shiri ya nuna wannan adireshin IP.

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

14. Bayan yin duk saitunan da suka dace, sake kunna HTTPD da Varnish cache don aiwatar da canje-canjen da ke sama.

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

Mataki 4: Gwada Cache Varnish akan Apache

15. A ƙarshe, gwada, idan an kunna Varnish kuma aiki tare da sabis na HTTPD ta amfani da umarnin cURL da ke ƙasa, wanda za'a iya amfani dashi don duba taken 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

Don ƙarin bayani, duba Wurin ajiya na Cache Github: https://github.com/varnishcache/varnish-cache

A cikin wannan koyawa, mun bayyana yadda ake saita wakili na Varnish Cache 6.5 don uwar garken HTTP na Apache akan CentOS 7. Idan kuna da wasu tambayoyi ko ƙarin ra'ayoyi don raba, yi amfani da fom ɗin amsa da ke ƙasa don rubuta mana.