فكّر لحظة في ماذا حدث عندما تصفحت الصفحة الحالية. إما أنك قمت بالنقر على رابط تلقيته عبر النشرة الإخبارية، أو على الرابط على الصفحة الرئيسية لـ تيكمينت.كوم ومن ثم أُخذت إلى هذه المقالة.
ببضع كلمات، أنت (أو بالحقيقة متصفحك) أرسلت طلب HTTP إلى خادم الويب الذي يستضيف هذا الموقع، ورد الخادم برد HTTP.
على الرغم من بساطة هذا الأمر، إلا أن هذه العملية تنطوي على أكثر من ذلك بكثير. كان يتعين القيام بكثير من المعالجة على الخادم من أجل تقديم الصفحة المنسقة بشكل جيد التي يمكنك رؤيتها مع جميع الموارد فيها – ثابتة وديناميكية.
دون النزول في التفاصيل بكثير، يمكنك أن تتخيل أنه إذا كان على خادم الويب أن يستجيب للعديد من الطلبات مثل هذه في وقت واحد (لنبدأ بعشرات الطلبات فقط)، فإنه يمكن أن يجلب نفسه أو النظام بأكمله إلى الحالة الميئوس منها قريبًا.
وهنا حيث يمكن أن ينقذ فارنيش، مسرع HTTP عالي الأداء وخادم وكيل عكسي. في هذه المقالة، سأشرح كيفية تثبيت واستخدام فارنيش كواجهة أمامية لـ أباتشي أو إنجينكس من أجل تخزين استجابات HTTP بشكل أسرع ودون وضع مزيد من الأحمال على خادم الويب.
ومع ذلك، نظرًا لأن فارنيش عادةً ما يخزن ذاكرته المخبأة في الذاكرة بدلاً من على القرص، سيتعين علينا أن نكون حذرين ونحدد مساحة الذاكرة RAM المخصصة للتخزين المؤقت. سنناقش كيفية القيام بذلك في لحظة.
جدول المحتويات
كيف يعمل Varnish

تثبيت تخزين Varnish على خادم Linux
يفترض هذا المنشور أنك قد قمت بتثبيت خادم LAMP أو LEMP. إذا لم يكن الأمر كذلك، يرجى تثبيت أحد تلك الأنظمة قبل المتابعة.
- كيفية تثبيت خادم LAMP على توزيعات RHEL المستندة إلى
- كيفية تثبيت خادم LAMP على أوبونتو
- كيفية تثبيت خادم LAMP على ديبيان
- كيفية تثبيت خادم LEMP على توزيعات RHEL المستندة إلى
- كيفية تثبيت خادم LEMP على أوبونتو
- كيفية تثبيت خادم LEMP على ديبيان
التوثيق الرسمي يوصي بتثبيت Varnish من مستودع المطور الخاص به لأنهم دائماً يقدمون أحدث الإصدارات. يمكنك أيضًا اختيار تثبيت الحزمة من مستودعات التوزيع الرسمية، على الرغم من أنه قد يكون قديمًا قليلاً.
في هذا المقال، سنقوم بتثبيت Varnish من المستودعات المعتمدة رسميًا من قبل كل توزيعة. السبب الرئيسي وراء هذا القرار هو توفير التوحيد في طريقة التثبيت وضمان حل التبعيات التلقائي لجميع الهندسيات.
تثبيت Varnish في نظام Debian-based Linux
على التوزيعات المبنية على Debian، يمكنك تثبيت Varnish باستخدام أمر apt كما هو موضح.
تثبيت Varnish في نظام RHEL-based Linux
# apt update # apt install varnish

على التوزيعات المبنية على RHEL مثل CentOS وRocky وAlmaLinux، ستحتاج إلى تمكين مستودع EPEL قبل تثبيت Varnish باستخدام أمر yum كما هو موضح.
على توزيعات RHEL-based مثل CentOS، Rocky، و AlmaLinux، ستحتاج إلى تمكين مستودع EPEL قبل تثبيت Varnish باستخدام أمر yum كما هو موضح.
# yum install epel-release # yum update # yum install varnish

إذا تم التثبيت بنجاح، سيكون لديك إحدى الإصدارات التالية من varnish اعتمادًا على توزيعتك:
# varnishd -V varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
أخيرًا، تحتاج إلى بدء Varnish يدويًا إذا لم يتم ذلك أثناء عملية التثبيت وتمكينه من البدء عند التشغيل.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish

بشكل افتراضي يتم استخدام المنفذ 6081 من قبل خدمة varnish ويمكنك تأكيد ذلك بتنفيذ الأمر التالي أمر netstat.
# netstat -tunlp | grep 6081

تكوين Varnish Cache في Linux
كما ذكرنا سابقًا، يقف Varnish في الوسط بين العملاء الخارجيين وخادم الويب. لهذا السبب، ولكي يصبح التخزين المؤقت شفافًا للمستخدمين النهائيين، سنحتاج إلى:
- قم بتغيير المنفذ الافتراضي 6081 الذي يستمع عليه Varnish إلى 80.
- قم بتغيير المنفذ الافتراضي الذي يستمع عليه ويرث الخادم الويب إلى 8080 بدلاً من الافتراضي 80.
- أعد توجيه الزيارات الواردة من Varnish إلى خادم الويب. لحسن الحظ، يقوم Varnish بذلك تلقائيًا بعد إكمالنا للخطوتين 1) و 2).
تغيير منفذ Varnish
يتم التحكم في عملية varnishd عن طريق systemd ويوجد ملف وحدتها في الموقع /usr/lib/systemd/system/varnish.service، والذي يحتوي على الإعدادات الافتراضية لعمل Varnish.
هنا، نحتاج إلى تغيير المنفذ الافتراضي لـ Varnish من 6081 إلى المنفذ 80 وحجم التخزين المؤقت إلى 1GB كما هو موضح بتنفيذ الأمر التالي، والذي سيفتح ملف الوحدة في المحرر كما هو موضح.
ملاحظة: يمكنك تغيير كمية الذاكرة وفقًا لموارد الأجهزة الخاصة بك أو بديلًا يمكنك اختيار حفظ الملفات المؤقتة على القرص.
$ sudo systemctl edit --full varnish OR # systemctl edit --full varnish

بعد تعديل ملف /etc/systemd/system/varnish.service، تحتاج إلى إعادة تحميل Systemd بتنفيذ الأمر التالي:
# systemctl daemon-reload
تغيير منفذ Apache أو Nginx
بعد تغيير منفذ فارش، الآن تحتاج إلى تغيير منفذ ويب خادمك أباتشي أو نكسينج من الافتراضي 80 إلى المنفذ الشائع للشبكات أي 8080.
---------- On Debian-based Systems ---------- # nano /etc/apache2/ports.conf [On Apache] # /etc/nginx/sites-enabled/default [On Nginx] ---------- On RHEL-based Systems ---------- # vi /etc/httpd/conf/httpd.conf [On Apache] # vi /etc/nginx/nginx.conf [On Nginx]

بمجرد الانتهاء من التغييرات، لا تنس إعادة التشغيل فارش وخادم الويب.
# systemctl restart varnish ---------- On Debian-based Systems ---------- # systemctl restart apache2 # systemctl restart nginx ---------- On RHEL-based Systems ---------- # systemctl restart httpd # systemctl restart nginx
اختبار ذاكرة فارش التخزين المؤقت في لينكس
الاختبار الأول يتضمن إجراء طلب HTTP عبر أمر كرل والتحقق من أنه يتم معالجته بواسطة فارش:
# curl -I http://localhost

يحتوي فارش أيضًا على أدوات مفيدتين أيضًا:
- مشاهدة سجلات فارش في الوقت الفعلي، والتي تسمى ببساطة varnishlog.
- عرض إحصائيات ذاكرة فارش التخزين المؤقت، والتي تسمى varnishstat.
كاختبار ثان، في المقطع التالي، سنعرض كل من السجلات والإحصائيات على خادم سنتوس (dev1، النصف العلوي من الشاشة) وعلى خادم ديبيان (dev2، النصف السفلي من الشاشة) عند إرسال طلبات HTTP واستلام الردود.
اختبار أداء خادم ويب المعيار
اختبارنا الثالث والأخير سيتضمن مقارنة مقايسة مولد الويب وفارنيش باستخدام أداة المقارنة ab ومقارنة متوسط وقت الاستجابة وحدة المعالجة المركزية التحميل في كل حالة.
في هذا المثال الخاص، سنستخدم خادم CentOS، لكن يمكنك استخدام أي توزيعة والحصول على نتائج مماثلة. شاهد متوسط الحمل في الجزء العلوي وسطر طلبات الثانية في خرج ab.
باستخدام ab، سنرسل 50 (-c 50) طلبات متزامنة في نفس الوقت وأعد الاختبار 1000000 مرة (مشار إليها بـ -n 1000000). سيعود فارنيش بعدد أكبر من طلبات الثانية في الثانية ومتوسط حمل أقل بكثير.
مهم: تذكر دائمًا أن فارنيش يستمع على البوابة 80 (البوابة الافتراضية لـ HTTP)، بينما يستمع أباتشي على البوابة 8080. يمكنك أيضًا تسجيل كمية الوقت اللازمة لإكمال كل اختبار.
# ab -c 50 -n 100000 http://localhost/index.html
الخاتمة
في هذه المقالة، ناقشنا كيفية إعداد فارنيش ذاكرة التخزين المؤقت أمام خادم الويب، أباتشي، أو نكينكس. لاحظ أننا لم نتعمق في default.vcl ملف التكوين الافتراضي، الذي يتيح لنا تخصيص سياسة التخزين المؤقت.
قد ترغب الآن في الرجوع إلى الوثائق الرسمية للحصول على أمثلة إضافية للتكوين أو ترك تعليق باستخدام النموذج أدناه.
Source:
https://www.tecmint.com/install-varnish-cache-server/