Wụnye Varnish Cache 5.2 iji kwalite arụmọrụ Apache na CentOS 7


Cache Varnish (nke a na-akpọkarị Varnish), bụ isi mmalite mepere emepe, onye na-eme ngwa ngwa proxy HTTP ezubere maka ịgbasa sava weebụ ọsọ ọsọ. A na-eme ya maka njedebe njedebe API nke a na-ejikarị eme ihe yana kwa maka saịtị dị ike nke na-enye nnukwu ọdịnaya ma nwee ahụmahụ dị elu.

Ọ bụ isi na-enyere aka belata ibu CPU; na-akwado nguzozi ibu na sava weebụ ma na-enyere ihe nchọgharị weebụ aka ibuo saịtị ngwa ngwa n'ihi ịchekwa cache na RAM. Ọtụtụ nnukwu ụlọ ọrụ na-eji ya gụnyere Facebook, Twitter, na Wikipedia naanị ịkọ ma ole na ole.

  1. CentOS 7 nwere Apache arụnyere
  2. CentOS 7 nwere adreesị IP kwụ ọtọ

N'isiokwu a, m ga-akọwa otu esi etinye ma jiri Varnish Cache 6.5 dị ka njedebe n'ihu na sava weebụ Apache na CentOS 7 (na-arụkwa ọrụ na RHEL 7).

Kwụpụ 1: Wụnye sava weebụ Apache na CentOS 7

1. Buru ụzọ wụnye sava Apache HTTP site na ebe nchekwa ngwanrọ CentOS ndabara site na iji njikwa ngwugwu YUM dị ka ndị a.

# yum install httpd

2. Ozugbo Apache arụnyere, malite ya maka oge ahụ ma mee ka ọ malite na-akpaghị aka na buut usoro.

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

3. Ọzọ update usoro firewall iwu ikwe inbound ngwugwu na ọdụ ụgbọ mmiri 80 iji iwu n'okpuru.

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

Kwụpụ 2: Wụnye Cache Varnish na CentOS 7

4. Ugbu a enwere ngwugwu RPM achịkọtara nke ọma maka ụdị Varnish Cache 6 kachasị ọhụrụ (ya bụ 6.5 n'oge ederede), yabụ ịkwesịrị ịgbakwunye ebe nchekwa Varnish Cache gọọmentị.

Tupu nke ahụ, ịkwesịrị ịme ka ebe nchekwa EPEL rụnye ọtụtụ ngwugwu ndabere dịka egosiri.

# yum install -y epel-release

5. Na-esote, wụnye pygpgme, ngwugwu maka ijikwa akara GPG na yum-utils, nchịkọta ọrụ bara uru nke na-agbatị njirimara ala yum n'ụzọ dị iche iche.

# yum install pygpgme yum-utils

6. Ugbu a mepụta faịlụ aha ya bụ /etc/yum.repos.d/varnishcache_varnish65.repo nke nwere nhazi nhazi n'okpuru.

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

Ihe dị mkpa: Gbaa mbọ hụ na iji nkesa na ụdị Linux gị dochie el na 7 na nhazi dị n'okpuru:

[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. Ugbu a na-agba ọsọ iwu n'okpuru ka imelite gị local yum cache na wụnye varnish cache ngwugwu (echefula ịnakwere igodo GPG site na ịpị y ma ọ bụ ee mgbe ị na-etinye ya ngwugwu):

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

8. Mgbe ị wụnye Varnish Cache, a ga-arụnye isi ọrụ dị ka/usr/sbin/varnished na varnish nhazi faịlụ dị na /etc/varnish/:

  • /etc/varnish/default.vcl – nke a bụ isi faịlụ nhazi varnish, ejiri asụsụ nhazi vanish (VCL) dee ya.

9. Ugbu a bido ọrụ varnish, mee ka ọ malite na-akpaghị aka n'oge buut sistemu, ma nyochaa ọnọdụ ya iji hụ na ọ na-agba ọsọ dị ka ndị a.

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

10. Ị nwere ike ikwenye na nrụnye Varnish gara nke ọma site n'ịhụ ebe Varnish executable na ụdị arụnyere na usoro gị.

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

Kwụpụ 3: Hazie Apache ka ọ rụọ ọrụ na Cache Varnish

11. Ugbu a hazie Apache ka ọ rụọ ọrụ na njikọ Varnish Cache. Site na ndabara Apache na-ege ntị na ọdụ ụgbọ mmiri 80, ịkwesịrị ịgbanwe ọdụ ụgbọ mmiri HTTPD ndabara na 8080 - nke a ga-ahụ na HTTPD na-aga n'azụ caching Varnish.

Ị nwere ike iji sed iwu ịgbanwe ọdụ ụgbọ mmiri 80 ka 8080 dị ka egosiri.

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

Mara: Ọzọkwa, ịkwesịrị ịgbanwe ọdụ ụgbọ mmiri na nhazi nhazi nnabata gị maka weebụsaịtị ọ bụla ịchọrọ ijere site na Varnish. Nke a bụ nhazi maka saịtị ule anyị (/etc/httpd/conf.d/tecmint.lan.conf).

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

12. Ọzọ, mepee faịlụ nhazi usoro varnish wee chọta parameter ExecStart nke na-akọwa ọdụ ụgbọ mmiri Varnish na-ege ntị, ma gbanwee uru ya site na 6081 gaa na 80 dị ka egosiri na nseta ihuenyo.

# systemctl edit --full  varnish

Nhazi kwesịrị ịdị ka nke a mgbe emechara.

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

13. Ọzọ, guzobe Apache dị ka ihe nkesa azụ maka Varnish proxy, na faịlụ nhazi /etc/varnish/default.vcl.

# vi /etc/varnish/default.vcl 

Chọta ngalaba azụ azụ, ma kọwaa IP na ọdụ ụgbọ mmiri onye ọbịa. N'okpuru bụ nhazi ndabere ndabere, tọọ nke a ka ọ rụtụ aka na nkesa ọdịnaya gị n'ezie.

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

Ọ bụrụ na ihe nkesa azụ azụ gị na-agba ọsọ na sava dị iche nwere adreesị 10.42.1.10, mgbe ahụ paramita nnabata kwesịrị ịrụtụ aka na adreesị IP a.

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

14. Mgbe ịmechara nhazi niile dị mkpa, malitegharịa HTTPD na Varnish cache iji mee mgbanwe ndị dị n'elu.

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

Kwụpụ 4: Nwalee cache Varnish na Apache

15. N'ikpeazụ, nwalee, ma ọ bụrụ na Varnish na-enyere aka na-arụ ọrụ na HTTPD ọrụ site na iji cURL iwu n'okpuru, nke nwere ike iji na-ele HTTP nkụnye eji isi mee.

# 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

Maka ozi ndị ọzọ, lelee Varnish Cache Github Repository: https://github.com/varnishcache/varnish-cache

N'ime nkuzi a, anyị kọwara otu esi edozi Varnish Cache 6.5 proxy maka sava HTTP Apache na CentOS 7. Ọ bụrụ na ị nwere ajụjụ ọ bụla ma ọ bụ echiche ndị ọzọ ị ga-ekekọrịta, jiri mpempe nzaghachi n'okpuru degara anyị akwụkwọ.