Kā paātrināt Nginx ar lakas kešatmiņu CentOS 7


Lakas kešatmiņa (saukta arī par laku) ir atvērtā koda augstas veiktspējas HTTP paātrinātājs, kas paredzēts tīmekļa serveru paātrināšanai. Pēdējos rakstos mēs esam paskaidrojuši, kā iestatīt CentOS 8.

Šajā rakstā mēs parādīsim, kā instalēt un izmantot lakas kešatmiņu kā Nginx HTTP servera priekšgali CentOS 7. Šajā rokasgrāmatā vajadzētu darboties arī ar RHEL 7.

  1. CentOS 7 ar instalētu Apache
  2. CentOS 7 ar statisku IP adresi

1. darbība: instalējiet Nginx tīmekļa serveri CentOS 7

1. Sāciet, instalējot Nginx HTTP serveri no noklusējuma programmatūras CentOS krātuvēm, izmantojot YUM pakotņu pārvaldnieku šādi.

# yum install nginx

2. Kad instalēšana ir pabeigta, pagaidām palaidiet pakalpojumu Nginx un ļaujiet tam automātiski startēt sistēmas sāknēšanas laikā.

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

3. Tagad modificējiet sistēmas ugunsmūra noteikumus, lai atļautu ienākošos paketes 80. portā, izmantojot tālāk norādītās komandas.

# 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. darbība: CentOS 7 instalējiet lakas kešatmiņu

4. Tagad ir iepriekš sastādītas RPM paketes jaunākajai Varnish Cache 6 versijai (t.i., 6.5 rakstīšanas laikā), tāpēc jums jāpievieno oficiālā Lakas kešatmiņas krātuve.

Pirms tam jums jāiespējo EPEL repozitorijs, lai instalētu vairākas atkarības paketes, kā parādīts.

# yum install -y epel-release

5. Pēc tam instalējiet paketi GPG parakstu un yum-utils apstrādei - pygpgme - noderīgu utilītu kolekciju, kas dažādos veidos paplašina yum vietējās funkcijas.

# yum install pygpgme yum-utils

6. Tagad izveidojiet failu ar nosaukumu /etc/yum.repos.d/varnishcache_varnish5.repo, kas satur zemāk esošo krātuves konfigurāciju.

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

Svarīgi: Noteikti nomainiet el un 7 zemāk esošajā konfigurācijā ar savu Linux izplatīšanu un versiju:

[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. Tagad palaidiet zemāk esošo komandu, lai atjauninātu vietējo yum kešatmiņu un instalētu lakas kešatmiņas pakotni (neaizmirstiet pieņemt GPG atslēgu, instalējot y vai yes . iepakojums):

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

8. Pēc Varnish Cache instalēšanas galvenais izpildāmais fails tiks instalēts kā/usr/sbin/varnishd un lakas konfigurācijas faili atrodas mapē/etc/varnish /:

  • /etc/varnish/default.vcl - tas ir galvenais lakas konfigurācijas fails, tas tiek rakstīts, izmantojot vanish configuration language (VCL).

9. Tagad palaidiet lakas pakalpojumu, ļaujiet tam automātiski startēt sistēmas sāknēšanas laikā un pārbaudiet tā statusu, lai pārliecinātos, ka tas darbojas un darbojas šādi.

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

10. Jūs varat apstiprināt, ka Lakas instalēšana bija veiksmīga, redzot jūsu sistēmā instalētās Lakas lakas un versijas atrašanās vietu.

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

3. darbība: konfigurējiet Nginx darbam ar lakas kešatmiņu

11. Šajā solī jums jākonfigurē Nginx darbam ar lakas kešatmiņu. Pēc noklusējuma Nginx klausās 80. portā, jums jānomaina noklusējuma Nginx ports uz 8080, lai tas darbotos aiz lakas kešatmiņas.

Atveriet Nginx konfigurācijas failu /etc/nginx/nginx.conf un atrodiet līniju klausīties 80 un nomainiet to, lai klausītos 8080, kā servera blokā, kas parādīts zemāk esošajā ekrānuzņēmumā.

# vi /etc/nginx/nginx.conf

Piezīme: Tas jādara visos servera bloku konfigurācijas failos (parasti tie tiek izveidoti sadaļā /etc/nginx/conf.d/) vietnēm, kuras vēlaties apkalpot, izmantojot laku.

12. Pēc tam atveriet lakas servisa konfigurācijas failu un atrodiet parametru ExecStart, kas norāda portu, ko klausās laka, un mainiet tā vērtību no 6081 uz 80.

# systemctl edit --full  varnish

Līnijai jāizskatās tā, kā parādīts.

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

13. Pēc tam iestatiet Nginx kā aizmugures serveri Lakas starpniekserverim konfigurācijas failā /etc/varnish/default.vcl.

# vi /etc/varnish/default.vcl 

Atrodiet aizmugures sadaļu un definējiet resursdatora IP un portu. Zemāk ir noklusējuma aizmugures konfigurācija, iestatiet to, lai norādītu uz jūsu faktisko satura serveri.

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

14. Pēc visu nepieciešamo konfigurāciju veikšanas restartējiet Nginx HTTPD un Laka kešatmiņu, lai veiktu iepriekš minētās izmaiņas.

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

4. darbība. Pārbaudiet lakas kešatmiņu Nginx

15. Visbeidzot, pārbaudiet, vai ir iespējota lakas kešatmiņa, un strādājiet ar Nginx pakalpojumu, izmantojot zemāk esošo komandu cURL, lai skatītu HTTP galveni.

# 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

Papildinformāciju varat atrast no Lakas kešatmiņas Github repozitorija: https://github.com/varnishcache/varnish-cache

Šajā apmācībā mēs paskaidrojām, kā iestatīt lakas kešatmiņu Nginx HTTP serverim CentOS 7. Izmantojiet zemāk esošo komentāru veidlapu, lai nosūtītu mums jautājumus vai papildu idejas.