Bii o ṣe le Titẹ Nginx pẹlu Kaṣe Varnish lori CentOS 7


Kaṣe Varnish (tun tọka si bi Varnish) jẹ orisun-ṣiṣi, imuyara HTTP ti o ga julọ ti a ṣe apẹrẹ fun iyara awọn olupin ayelujara. Ninu awọn nkan wa ti o kẹhin, a ti ṣe alaye bi o ṣe le ṣeto CentOS 8.

Ninu àpilẹkọ yii, a yoo fi ọ han bi o ṣe le fi sori ẹrọ ati lo Kaṣe Varnish bi opin-opin si olupin Nginx HTTP ni CentOS 7. Itọsọna yii yẹ ki o tun ṣiṣẹ lori RHEL 7.

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

Igbesẹ 1: Fi Nginx Web Server sori CentOS 7

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

# yum install nginx

2. Nigbati fifi sori ba pari, bẹrẹ iṣẹ Nginx fun bayi ki o muu ṣiṣẹ lati bẹrẹ laifọwọyi ni bata eto.

# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

3. Bayi ṣe atunṣe awọn ofin ogiriina eto lati gba awọn apo inbound laaye lori ibudo 80 ni lilo awọn ofin ni isalẹ.

# firewall-cmd --zone=public --permanent --add-port=80/tcp
# firewall-cmd --reload
# firewall-cmd --zone=public --permanent --add-port=8080/tcp
# 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_varnish5.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 Nginx lati Ṣiṣẹ Pẹlu Kaṣe Varnish

11. Ni igbesẹ yii, o nilo lati tunto Nginx lati ṣiṣẹ pẹlu Kaṣe Varnish. Nipa aiyipada Nginx tẹtisi lori ibudo 80, o yẹ ki o yi ibudo Nginx aiyipada pada si 8080 nitorinaa o n ṣiṣẹ lẹhin fifọ Varnish.

Ṣii faili atunto Nginx /etc/nginx/nginx.conf ki o wa laini tẹtisi 80 ki o yi pada lati tẹtisi 8080 bi ninu apo olupin ti o han ni sikirinifoto ni isalẹ.

# vi /etc/nginx/nginx.conf

Akiyesi: Eyi yẹ ki o ṣee ṣe ni gbogbo awọn faili iṣeto iṣeto ohun amorindun olupin (eyiti a ṣẹda nigbagbogbo labẹ /etc/nginx/conf.d/) fun awọn oju opo wẹẹbu ti o fẹ sin nipasẹ Varnish.

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

# systemctl edit --full  varnish

Laini yẹ ki o wo bi o ti han.

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

13. Nigbamii, ṣeto Nginx 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";
}

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

# systemctl daemon-reload
# systemctl restart nginx
# systemctl restart varnish

Igbesẹ 4: Idanwo Kaṣe Varnish lori Nginx

15. Lakotan, ṣe idanwo ti kaṣe Varnish ba ṣiṣẹ ati ṣiṣẹ pẹlu iṣẹ Nginx nipa lilo aṣẹ cURL ni isalẹ lati wo akọle HTTP.

# curl -I http://localhost
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Wed, 06 Jan 2021 09:24:18 GMT
Content-Type: text/html
Content-Length: 4833
Last-Modified: Fri, 16 May 2014 15:12:48 GMT
ETag: "53762af0-12e1"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.5)
Accept-Ranges: bytes
Connection: keep-alive

O le wa alaye ni afikun lati Ibi ipamọ Github Kaṣe Varnish: https://github.com/varnishcache/varnish-cache

Ninu ẹkọ yii, a ṣalaye bi o ṣe le ṣeto Kaṣe Varnish fun olupin Nginx HTTP lori CentOS 7. Lo fọọmu asọye ni isalẹ lati firanṣẹ eyikeyi awọn ibeere tabi awọn imọran afikun.