מטמון Varnish (נקרא גם Varnish) הוא מאיץ HTTP פתוח מקור וביצועים גבוהים המיועד להאצת שרתי אינטרנט. במאמרים האחרונים שלנו, סברנו כיצד להגדיר מטמון Varnish עבור Apache ב־CentOS 7 ו־CentOS 8.
במאמר זה, נראה לך כיצד להתקין ולהשתמש ב־מטמון Varnish כקדמי לשרת ה־HTTP של Nginx ב־CentOS 7. מדריך זה צריך לעבוד גם על RHEL 7.
דרישות
שלב 1: התקן את שרת האינטרנט Nginx על CentOS 7
1. התחל בהתקנת שרת ה־HTTP של Nginx ממאגרי התוכנה המובנים של CentOS באמצעות מנהל החבילות YUM כך:
# yum install nginx

2. כאשר ההתקנה מושלמת, הפעל את שירות ה־Nginx לעכשיו והפעל אותו להתחלה אוטומטית באמצעות המערכת.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx

3. כעת שנה את כללי האש של המערכת כך שיאפשרו חבילות נכנסות בפורט 80 באמצעות הפקודות הבאות.
# 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: התקן את מטמון Varnish על CentOS 7
4. כעת קיימים חבילות RPM מוקמפות מראש עבור הגרסה האחרונה של Varnish Cache 6 (כלומר 6.5 בזמן כתיבת הטקסט), לכן עליך להוסיף את המאגר הרשמי של Varnish Cache.
לפני כן, עליך לאפשר את מאגר ה-EPEL כדי להתקין מספר חבילות תלות כפי שמוצג.
# yum install -y epel-release
5. לאחר מכן, התקן את pygpgme, חבילה לטיפול בחתימות GPG ואת yum-utils, אוסף של כלים שימושיים שמרחיבים את היכולות הטבעיות של yum בדרכים שונות.
# yum install pygpgme yum-utils
6. כעת צור קובץ בשם /etc/yum.repos.d/varnishcache_varnish5.repo שמכיל את התצורה של המאגר הבא.
# vi /etc/yum.repos.d/varnishcache_varnish65.repo
חשוב: ודא שאתה מחליף את el
ואת 7
בתצורה שלך עם ההפצה והגרסה של Linux:
[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. כעת הרץ את הפקודה הבאה כדי לעדכן את מטמון ה-yum המקומי שלך ולהתקין את חבילת varnish cache (אל תשכח לאשר את מפתח ה-GPG על ידי הקלדת y
או yes
במהלך ההתקנה):
# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65' # yum install varnish

8. לאחר התקנת Varnish Cache, הקובץ הביצועי הראשי יותקן כ-/usr/sbin/varnishd וקבצי התצורה של varnish נמצאים ב-/etc/varnish/:
- /etc/varnish/default.vcl – זהו קובץ התצורה הראשי של varnish, הוא נכתב בשפת התצורה vanish (VCL).
9. כעת התחל את שירות varnish, הפעל אותו כך שיתחיל באופן אוטומטי במהלך האתחול של המערכת, ווודא את מעמדו כדי לוודא כי הוא פועל כפי המצוג כאן.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish

10. תוכל לאשר כי התקנת varnish הצליחה על ידי ראיית מיקום הקובץ הביצועי של varnish והגרסה שהותקנה במערכת שלך.
$ which varnishd $ varnishd -V
פלט דוגמה
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2020 Varnish Software
שלב 3: הגדר את Nginx כך שיעבוד עם המטמון של Varnish
11. בשלב זה, עליך להגדיר את Nginx כך שיעבוד עם המטמון של Varnish. כברירת מחדל, Nginx מאזין בפורט 80, עליך לשנות את הפורט המוגדר כברירת מחדל של Nginx ל-8080 כך שירוץ מאחורי המטמון של Varnish.
פתח את קובץ התצורה של Nginx /etc/nginx/nginx.conf ומצא את השורה listen 80 ושנה אותה ל- listen 8080 כמו בבלוק השרת המוצג בתמונת מסך למטה.
# vi /etc/nginx/nginx.conf

הערה: על זה על התבצע בכל קובץ התצורה של בלוקי השרת (בדרך כלל נוצרים בתחתית /etc/nginx/conf.d/) עבור אתרים שברצונך לשרת דרך Varnish.
12. לאחר מכן, פתח את קובץ התצורה של שירות ה-varnish ומצא את הפרמטר ExecStart אשר מגדיר את הפורט שבו Varnish מאזין, ושנה את ערכו מ-6081 ל-80.
# systemctl edit --full varnish
השורה צריכה להיראות כמו בהמשך.
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

13. לאחר מכן, הגדר את Nginx כשרת צד ל-varnish proxy, בקובץ התצורה /etc/varnish/default.vcl.
# vi /etc/varnish/default.vcl
מצא את המקטע backend, והגדר את כתובת ה-IP והפורט של המארח. להלן הגדרת המארח הברירת מחדל, הגדר זאת כך שתפנה לשרת התוכן האמיתי שלך.
backend default { .host = "127.0.0.1"; .port = "8080"; }
14. לאחר ביצוע כל ההגדרות הנדרשות, הפעל מחדש את Nginx HTTPD ואת המטמון של Varnish כדי להשפיע על השינויים שנעשו לעיל.
# systemctl daemon-reload # systemctl restart nginx # systemctl restart varnish
שלב 4: בדוק את המטמון של Varnish על Nginx
15. לבסוף, בדוק אם המטמון של Varnish מופעל ועובד עם שירות ה-Nginx באמצעות פקודת cURL למטה כדי להציג את כותרת ה-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
ניתן למצוא מידע נוסף במאגר ה-Github של Varnish Cache: https://github.com/varnishcache/varnish-cache
במדריך זה, הסברנו כיצד להגדיר את מטמון Varnish עבור שרת ה-HTTP של Nginx על CentOS 7. השתמש בטופס ההערות למטה כדי לשלוח לנו שאלות או רעיונות נוספים.
Source:
https://www.tecmint.com/install-varnish-cache-for-nginx-on-centos-7/