Bii o ṣe le ṣe iyara Apache pẹlu Kaṣe Varnish lori CentOS 7


Kaṣe Varnish (eyiti a mọ ni Varnish), jẹ orisun-ṣiṣi, olokiki HTTP oniduro ti a gbajumọ ti a pinnu fun iyara awọn olupin wẹẹbu. O jẹ ẹrọ-ẹrọ fun lilo awọn aaye ipari API ti aṣeju ati tun fun awọn aaye ti o ni agbara ti o sin akoonu-nla ati iriri iṣowo giga.

Ni akọkọ o ṣe iranlọwọ lati ṣe iwọn fifuye Sipiyu; ṣe atilẹyin iwọntunwọnsi fifuye lori awọn olupin wẹẹbu ati mu ki ẹrọ lilọ kiri lori ayelujara kan ni fifuye awọn aaye ni kiakia bi abajade ti titoju kaṣe naa ni Ramu. Nọmba awọn ile-iṣẹ nla lo pẹlu Facebook, Twitter, ati Wikipedia lati darukọ ṣugbọn diẹ.

  1. CentOS 7 kan pẹlu Afun ti fi sori ẹrọ
  2. CentOS 7 kan pẹlu adiresi IP aimi kan

Ninu àpilẹkọ yii, Emi yoo ṣalaye bi o ṣe le fi sori ẹrọ ati lo Vache Cache 6.5 bi opin-opin si olupin wẹẹbu Apache ni CentOS 7 (tun ṣiṣẹ lori RHEL 7).

Igbesẹ 1: Fi Server Server Web Apache sori CentOS 7

1. Akọkọ fi sori ẹrọ olupin Apache HTTP lati awọn ibi ipamọ sọfitiwia CentOS aiyipada nipa lilo oluṣakoso package YUM gẹgẹbi atẹle.

# yum install httpd

2. Lọgan ti Afun ti fi sii, bẹrẹ fun akoko naa ki o mu ki o bẹrẹ laifọwọyi ni bata eto.

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

3. Awọn ofin ogiriina eto atẹle ti o fun laaye awọn apo inbound lori ibudo 80 ni lilo awọn ofin ni isalẹ.

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

Igbesẹ 2: Fi Kaṣe Varnish sori CentOS 7

4. Nisisiyi awọn idii RPM ti a ṣajọ tẹlẹ wa fun ẹya tuntun ti Varnish Cache 6 (ie 6.5 ni akoko kikọ), nitorinaa o nilo lati ṣafikun ibi ipamọ Cache osise naa.

Ṣaaju pe, o nilo lati mu ibi ipamọ EPEL ṣiṣẹ lati fi ọpọlọpọ awọn idii igbẹkẹle sori ẹrọ bi o ti han.

# yum install -y epel-release

5. Nigbamii, fi sori ẹrọ pygpgme, package fun mimu awọn ibuwọlu GPG ati awọn ohun elo yum, ikojọpọ awọn ohun elo ti o wulo ti o fa awọn ẹya abinibi yum ni ọpọlọpọ awọn ọna.

# yum install pygpgme yum-utils

6. Bayi ṣẹda faili ti a npè ni /etc/yum.repos.d/varnishcache_varnish65.repo ti o ni iṣeto ibi ipamọ ni isalẹ.

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

Pataki: Rii daju lati rọpo el ati 7 ninu iṣeto ni isalẹ pẹlu pinpin Linux ati ẹya rẹ:

[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. Nisisiyi ṣiṣe aṣẹ ni isalẹ lati ṣe imudojuiwọn kaṣe yum ti agbegbe rẹ ki o fi sori ẹrọ ni apo kaṣe varnish (maṣe gbagbe lati gba bọtini GPG nipa titẹ y tabi bẹẹni lakoko fifi sori package):

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

8. Lẹhin fifi Kaṣe Varnish sori ẹrọ, oluṣe akọkọ yoo fi sori ẹrọ bi/usr/sbin/varnishd ati awọn faili iṣeto varnish wa ni/ati be be lo/varnish /:

  • /etc/varnish/default.vcl - eyi ni faili iṣeto varnish akọkọ, o ti kọ nipa lilo ede iṣeto-ọrọ asan (VCL).

9. Bayi bẹrẹ iṣẹ varnish, jẹ ki o bẹrẹ lakoko aifọwọyi lakoko bata eto, ati ṣayẹwo ipo rẹ lati rii daju pe o ti n ṣiṣẹ ati ṣiṣe bi atẹle.

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

10. O le jẹrisi pe fifi sori Varnish ṣaṣeyọri nipa wiwo ipo ti a le mu ṣiṣẹ ti Varnish ati ẹya ti a fi sori ẹrọ lori ẹrọ rẹ.

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

Igbesẹ 3: Tunto Apache lati Ṣiṣẹ Pẹlu Kaṣe Varnish

11. Bayi tunto Apache lati ṣiṣẹ ni apapo pẹlu Varnish Cache. Nipa aiyipada Apache ngbọ lori ibudo 80, o nilo lati yi ibudo HTTPD aiyipada pada si 8080 - eyi yoo rii daju pe HTTPD n ṣiṣẹ lẹhin fifin Varnish.

O le lo pipaṣẹ sed lati yi ibudo 80 pada si 8080 bi o ti han.

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

Akiyesi: Pẹlupẹlu, o nilo lati yi ibudo pada lori iṣeto iṣeto ogun foju rẹ fun oju opo wẹẹbu kọọkan ti o fẹ lati ṣiṣẹ nipasẹ Varnish. Eyi ni iṣeto fun aaye idanwo wa (/etc/httpd/conf.d/tecmint.lan.conf).

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

12. Nigbamii, ṣii faili iṣeto eto eto varnish ki o wa paramita ExecStart eyiti o ṣalaye ibudo Varnish ti tẹtisi, ati yi iye rẹ pada lati 6081 si 80 bi o ṣe han ninu sikirinifoto.

# systemctl edit --full  varnish

Iṣeto ni o yẹ ki o dabi eleyi nigbati o pari.

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

13. Nigbamii, ṣeto Apache bi olupin ẹhin fun aṣoju Varnish, ninu faili iṣeto /etc/varnish/default.vcl.

# vi /etc/varnish/default.vcl 

Wa apakan ẹhin, ki o ṣalaye IP ati ibudo ti o gbalejo. Ni isalẹ ni iṣeto ẹhin ẹhin aiyipada, ṣeto eyi lati tọka si olupin akoonu gangan rẹ.

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

Ti olupin ẹhin rẹ ba n ṣiṣẹ lori olupin miiran pẹlu adirẹsi 10.42.1.10, lẹhinna paramita ogun yẹ ki o tọka si adiresi IP yii.

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

14. Lẹhin ṣiṣe gbogbo awọn atunto ti o yẹ, tun bẹrẹ HTTPD ati kaṣe Varnish lati ṣe awọn ayipada ti o wa loke.

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

Igbesẹ 4: Idanwo Kaṣe Varnish lori Apache

15. Ni ikẹhin, idanwo, ti Varnish ba ṣiṣẹ ati ṣiṣẹ pẹlu iṣẹ HTTPD nipa lilo aṣẹ cURL ni isalẹ, eyiti o le lo lati wo akọle 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

Fun alaye diẹ sii, ṣayẹwo Ibi ipamọ Github Kaṣe Varnish: https://github.com/varnishcache/varnish-cache

Ninu ẹkọ yii, a ṣalaye bawo ni a ṣe le ṣeto aṣoju Varnish Cache 6.5 fun aṣoju Apache HTTP lori CentOS 7. Ni ọran ti o ni awọn ibeere eyikeyi tabi awọn imọran afikun lati pin, lo fọọmu esi ni isalẹ lati kọ pada si wa.