CentOS 7-de Nginx üçin lak keşi 5.2 nädip gurmaly


Lak Keşi (Warniş hem diýilýär) web serwerlerini çaltlaşdyrmak üçin döredilen açyk çeşme, ýokary öndürijilikli HTTP tizlendiriji. Soňky makalalarymyzda CentOS 8-i nädip gurmalydygyny düşündirdik.

Bu makalada, CentOS 7-de Nginx HTTP serweriniň öň tarapy hökmünde Varnish Keşini nädip gurmalydygyny we ulanmalydygyny görkezeris. Bu gollanma RHEL 7-de hem işlemeli.

  1. Apache gurnalan CentOS 7
  2. Statik IP adresi bolan CentOS 7

1-nji ädim: CentOS 7-de Nginx web serwerini guruň

1. YUM paket dolandyryjysyny ulanyp, adaty CentOS programma ammarlaryndan Nginx HTTP serwerini gurup başlaň.

# yum install nginx

2. Gurmak gutaransoň, Nginx hyzmatyny häzirlikçe başlaň we ulgam ýüklemesinde awtomatiki başlamaga mümkinçilik beriň.

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

3. Indi aşakdaky buýruklary ulanyp, 80-nji porta girýän paketlere rugsat bermek üçin ulgam gorag diwar düzgünlerini üýtgediň.

# firewall-cmd --zone=public --permanent --add-port=80/tcp
# firewall-cmd --reload
# firewall-cmd --zone=public --permanent --add-port=8080/tcp
# firewall-cmd --reload

2-nji ädim: CentOS 7-de lak keşini guruň

4. Indi “Varnish Cache 6” -yň iň soňky wersiýasy üçin öňünden düzülen RPM paketleri bar (ýagny ýazylanda 6.5), şonuň üçin resmi “Varnish Cache” ammaryny goşmaly.

Ondan öň, görkezilişi ýaly birnäçe garaşlylyk paketini gurmak üçin EPEL ammaryna mümkinçilik bermeli.

# yum install -y epel-release

5. Ondan soň, GPG gollaryny we ýum-utilleri dolandyrmak üçin paket, yumyň ýerli aýratynlyklaryny dürli usullar bilen giňeldýän peýdaly kömekçi toplumy bolan pygpgme guruň.

# yum install pygpgme yum-utils

6. Indi aşakdaky ammar konfigurasiýasyny öz içine alýan /etc/yum.repos.d/varnishcache_varnish5.repo atly bir faýl dörediň.

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

Üns beriň: Aşakdaky konfigurasiýada el we 7 Linux paýlanyş we wersiýa bilen çalşyň:

[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. Indi ýerli ýum keşiňizi täzelemek we lak keş keş paketini gurmak üçin aşakdaky buýrugy işlediň (gurnanyňyzda y ýa-da yes ýazyp GPG düwmesini kabul etmegi ýatdan çykarmaň) paket):

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

8. Lak Keşini guranyňyzdan soň, esasy ýerine ýetirip boljak/usr/sbin/lakishd we lak konfigurasiýa faýllary/etc/lak /:

  • /etc/varnish/default.vcl - bu esasy lak konfigurasiýa faýly, ýitip barýan konfigurasiýa dili (VCL) ulanyp ýazylýar.

9. Indi lak hyzmatyny başlaň, ulgam ýüklenende awtomatiki başlamaga mümkinçilik beriň we aşakdaky ýaly işleýändigini we işleýändigini anyklamak üçin ýagdaýyny barlaň.

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

10. “Varnish” gurnamagynyň üstünlikli ýerine ýetirilendigini we ulgamyňyzda gurnalan “Varnish” -iň ýerleşýän ýerini görüp tassyklap bilersiňiz.

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

3-nji ädim: Nginx-i lak keşi bilen işlemek üçin sazlaň

11. Bu ädimde, Varnish Keş bilen işlemek üçin Nginx-i sazlamaly. Adaty tertipde Nginx 80-nji portda diňleýär, adaty Nginx portuny 8080-e üýtgetmeli, şonuň üçin ol Varnish keş keşbiniň aňyrsynda işleýär.

Nginx konfigurasiýa faýlyny açyň /etc/nginx/nginx.conf we 80 diňlemek setirini tapyň we aşakdaky skrinshotda görkezilişi ýaly 8080 diňlemek üçin üýtgediň.

# vi /etc/nginx/nginx.conf

Bellik: Bu, Varnish arkaly hyzmat etmek isleýän web sahypalaryňyz üçin ähli serwer blok konfigurasiýa faýllarynda (köplenç /etc/nginx/conf.d/ astynda döredilýär) edilmelidir.

12. Ondan soň, lak hyzmaty konfigurasiýa faýlyny açyň we Varnish portuny diňleýän ExecStart parametrini tapyň we bahasyny 6081-den 80-e üýtgediň.

# systemctl edit --full  varnish

Setir görkezilişi ýaly görünmeli.

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

13. Ondan soň, /etc/varnish/default.vcl konfigurasiýa faýlynda Varnish proksi üçin arka serweri hökmünde Nginx guruň.

# vi /etc/varnish/default.vcl 

Yzky bölümi tapyň we ýer eýesi IP we porty kesgitläň. Aşakda deslapky arka konfigurasiýasy, muny hakyky mazmun serweriňize görkezmek üçin düzüň.

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

14. necessaryhli zerur konfigurasiýalary ýerine ýetireniňizden soň, ýokardaky üýtgeşmeleri amala aşyrmak üçin Nginx HTTPD we Varnish keşini täzeden açyň.

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

4-nji ädim: Nginx-de lak keşini synap görüň

15. Netijede, Varnish keş keşbiniň açykdygyny ýa-da HTTP sözbaşysyny görmek üçin aşakdaky cURL buýrugyny ulanyp, Nginx hyzmaty bilen işleýändigini barlaň.

# 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

“Varnish Cache Github” ammaryndan goşmaça maglumat tapyp bilersiňiz: https://github.com/varnishcache/varnish-cache

Bu gollanmada, CentOS 7-de Nginx HTTP serweri üçin Varnish Keşini nädip gurnamalydygyny düşündirdik, bize sorag ýa-da goşmaça pikirler ibermek üçin aşakdaky düşündiriş formuny ulanyň.