آذرسیس

How to install Varnish Cache 7 on Ubuntu 22.04
5/5 - (1 امتیاز)

Varnish Cache یک موتور قدرتمند HTTP متن باز و پروکسی معکوس است که برای وب سایت های پویا با بارگذاری بالا و همچنین برای API ها طراحی شده است.

Varnish Cache بر خلاف سایر شتاب دهنده های وب مثل Squid به عنوان یک کش از سمت کلاینت ایجاد شده است، همچنین برخلاف سایر سرور های پروکسی که از FTP و SMTP پشتیبانی می کنند، این سرور با تمرکز بر HTTP رشد کرده است.

به طور معمول Varnish Cache 7 پشت یک وب سایت قرار می گیرد و سرعت وب را تقریباً بین 300 تا 1000 برابر می کند که شتاب دهنده وب کاربردی نامیده می شود.

این امر با ذخیره کردن وب سایت های در خواستی در حافظه و سرویس دهی به آن ها، در صورت تقاضا انجام می شود، همچنین این فرآیند بدون ایجاد اطلاعات مشابه به دست می آید.

با پیکربندی Varnish Cache 7 در اوبونتو، می توانیم سرعت بارگذاری وب سایت های خود را بدون هدایت درخواست های سرور HTTP به جلو افزایش دهیم.

این فرآیند به سرعت بخشیدن زمان بارگیری و جلوگیری از تصادفات مکرر کمک می کند، در ادامه این مقاله ویژگی های Varnish Cache را به صورت کامل بررسی می کنیم و نحوه نصب آن را به صورت دقیق توضیح خواهیم داد.

ویژگی های Varnish Cache 7

  • داشتن دایرکتورهایی با ویژگی DNS، به صورت تصادفی، هش و کلاینت هایی بر پایه IP
  • داشتن HTTP Pass & Fetch
  • پشتیبانی از پلاگین ها به کمک ماژول های Varnish یا VMOD
  • پشتیبانی از Edge Side که شامل اتصال قطعات فشرده شده ESI می باشد
  • کمک به فشرده سازی Gzip و داشتن قابلیت خارج کردن Gzip از حالت فشرده
  • داشتن قابلیت varnish خصوصی CDN
  • پشتیبانی از ذخیره سازی مداوم، بدون اخراج LRU
  • Varnish API و افزایش شتاب و سرعت وب

پیش نیاز های نصب 7 Varnish Cache

  • نصب اوبونتو 22.04
  • داشتن حساب کاربری با دسترسی SUDO
  • به روز رسانی بسته های کلاینت سرور به آخرین نسخه

نحوه نصب و پیکربندی 7 Varnish Cache در توزیع اوبونتو

پس از توضیح مختصر در مورد Varnish Cache و ویژگی های آن، اکنون می خواهیم نحوه نصب Varnish Cache بر روی اوبونتو را گام به گام با هم بررسی کنیم.

نحوه نصب و پیکربندی 7 Varnish Cache در توزیع اوبونتو

بسته های کلاینت را با استفاده از دستور زیر به روز رسانی کنید:

sudo apt update && sudo apt -y full-upgrade

در صورت نیاز سیستم را با استفاده از روش زیر مجدداً راه اندازی می کنیم:

[ -f /var/run/reboot-required ] && sudo reboot -f

مراحل نصب 7 Varnish Cache در اوبونتو

برای انجام نصب Varnish Cache در سیستم Ubuntu مراحل زیر را به درستی پیش ببرید:

مرحله 1: ثبت مخزن Varnish Cache در اوبونتو 22.04

برای شروع نصب ابتدا از ثبت مخزن Varnish Cache شروع می کنیم، در غیر این صورت ممکن است همه بسته های مورد نیاز شما نصب نشوند، پس برای جلوگیری از این کار، وابستگی های بسته مورد نیاز را با استفاده از دستور زیر نصب می کنیم:

sudo apt install debian-archive-keyring curl gnupg apt-transport-https -y

پس از نصب بسته ها، امضای کلید GPG را با استفاده از دستور زیر وارد می کنیم:

curl -fsSL https://packagecloud.io/varnishcache/varnish70/gpgkey|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/varnish.gpg

حال در این مرحله مخزن Varnish Cache را با استفاده از دستورات زیر بر روی توزیع اوبونتو سرورمان، اضافه می کنیم.

این مرحله مخصوص افزودن مخزن Varnish Cache 7 بر روی اوبونتو 22.04 است، قبل از انتشار مخزن رسمی برای اوبونتو 22.04 باید از مخزن 20.04 استفاده کنیم:

sudo tee /etc/apt/sources.list.d/varnishcache_varnish70.list > /dev/null <<-EOF
deb https://packagecloud.io/varnishcache/varnish70/ubuntu/ focal main
deb-src https://packagecloud.io/varnishcache/varnish70/ubuntu/ focal main

پس از اضافه شدن مخزن Varnish Cache بر روی اوبونتو، اکنون فهرست بسته ی خود را با استفاده از دستور زیر به روز رسانی می کنیم:

sudo apt update

مرحله 2: نصب مخزن Varnish Cache بر روی اوبونتو 22.04

پس از اضافه شدن مخزن، Varnish Cache 7 را با استفاده از دستور زیر نصب می کنیم:

sudo apt install varnish

دستور درخت وابستگی (Dependency Tree) به صورت زیر است:

Reading state information... Done
The following additional packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-9 gcc gcc-9
gcc-9-base libasan5 libatomic1 libbinutils libc-dev-bin libc6-dev
libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libgcc-9-dev libgomp1
libisl22 libitm1 libjemalloc2 liblsan0 libmpc3 libquadmath0 libtsan0
libubsan1 linux-libc-dev manpages-dev
Suggested packages:
binutils-doc cpp-doc gcc-9-locales gcc-multilib make autoconf automake
libtool flex bison gdb gcc-doc gcc-9-multilib gcc-9-doc glibc-doc
varnish-dev
The following NEW packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-9 gcc gcc-9
gcc-9-base libasan5 libatomic1 libbinutils libc-dev-bin libc6-dev
libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libgcc-9-dev libgomp1
libisl22 libitm1 libjemalloc2 liblsan0 libmpc3 libquadmath0 libtsan0
libubsan1 linux-libc-dev manpages-dev varnish
0 upgraded, 30 newly installed, 0 to remove and 73 not upgraded.
Need to get 35.5 MB of archives.
After this operation, 154 MB of additional disk space will be used.
Do you want to continue? [Y/n]

مرحله 3: ایجاد کردن فایل سرویس Systemd برای Varnish Cache 7

برای اینکه بتوانیم Varnish Cache 7 را مانند سایر سرویس ها مدیریت کنیم، فایل Systemd را با استفاده از دستور زیر تنظیم می کنیم:

sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/
cat /etc/systemd/system/varnish.service

فایل سرویس باید به صورت زیر ظاهر شود:

[Unit]
Description=Varnish Cache, a high-performance HTTP accelerator
After=network-online.target nss-lookup.target
[Service]
Type=forking
KillMode=process
Maximum number of open files (for ulimit -n)
LimitNOFILE=131072
Locked shared memory - should be enough to lock the shared memory log
(varnishd -l argument)
Default log size is 80MB vsl + 1M vsm + header -> 82MB
unit is bytes
LimitMEMLOCK=85983232
Enable this to avoid "fork failed" on reload.
TasksMax=infinity
Maximum size of the core file.
LimitCORE=infinity
ExecStart=/usr/sbin/varnishd \
-a :6081 \
-a localhost:8443,PROXY \
-p feature=+http2 \
-f /etc/varnish/default.vcl \
-s malloc, 256m
ExecReload=/usr/sbin/varnishreload
[Install]
WantedBy=multi-user.target

مرحله 4: پیکربندی پورت Listening و اندازه کش

در فایل سرویس، پورت Listening پیش فرض بر روی 6081 تنظیم شده است، بنابراین باید این پورت را به پورت 80 و اندازه کش را به 2 گیگابایت تغییر دهیم، این فرآیند را با اجرای دستور زیر انجام می دهیم:

sudo vim /etc/systemd/system/varnish.service
ExecStart=/usr/sbin/varnishd \
-a :80 \
-a localhost:8443,PROXY \
-p feature=+http2 \
-f /etc/varnish/default.vcl \
-s malloc, 2g

در این مرحله Deamon سیستم را با استفاده از دستور زیر دوباره بارگذاری می کنیم:

sudo systemctl daemon-reload

حال در این قسمت Varnish Cache را با دستور زیر راه اندازی و فعال می کنیم:

sudo systemctl start varnish

در آخر وضعیت سیستم را با کمک دستور زیر چک می کنیم:

systemctl status varnish
● varnish.service - Varnish Cache, a high-performance HTTP accelerator
Loaded: loaded (/etc/systemd/system/varnish.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-02-08 09:22:45 UTC; 7s ago
Process: 9945 ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,2g (c>
Main PID: 9954 (varnishd)
Tasks: 217
Memory: 91.6M
CGroup: /system.slice/varnish.service
├─9954 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,2g
└─9980 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,2g
Feb 08 09:22:45 ubuntu systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator...
Feb 08 09:22:45 ubuntu varnishd[9954]: Version: varnish-7.0.2 revision 9b5f68e19ca0ab60010641e305fd12822f18d42c
Feb 08 09:22:45 ubuntu varnishd[9954]: Platform: Linux,5.4.0-90-generic,x86_64,-junix,-smalloc,-sdefault,-hcritbit

مرحله 5: پیکر بندی وب سرور برای کار با Varnish Cache

می توانیم با تنظیم Varnish Cache برای گوش دادن به پورت 80 وب سرور را طوری تنظیم کنیم که روی پورت دیگری مثل 8080 شنیده شود، در این مرحله تنظیمات لازم را برای وب سرور مورد نظر انجام می دهیم.

مرحله 6: پیکربندی VCL Backend

تغییرات انجام شده تا این قسمت باید در VLC Backend ذخیره شده باشد، به طور پیش فرض پشتیبان VLC Backend بر روی پورت 8080 طوری پیکربندی شده است که به صورت یک نقطه قرار گیرد، این فایل به صورت زیر است:

 sudo vim /etc/varnish/default.vcl
......
#Default backend definition. Set this to point to your content server.
backend default {
.host = "127.0.0.1";
.port = "8080";
}
......

مرحله 7: تایید سرور Varnish Cache 7

برای بررسی اینکه آیا سرور به درستی کار می کند، از دستور cURL زیر استفاده می کنیم:

curl -I server-ip

خروجی به صورت زیر است:

آموزش نصب Varnish Cache 7 در اوبونتو 22.04

در پایان برای اینکه پی ببریم که Varish Cache کار می کند یا نه؟ باید به دنبال وجود هدر X-Varnish در پاسخ باشید، هدر Age در هنگام از دست دادن حافظه 0 و در Hit بالای 0 خواهد بود، اولین درخواست از یک صفحه همیشه از دست خواهد رفت.

برای تجربه سرعت بی نهایت در میزبانی وب سرور های آذرسیس بهترین گزینه شما خواهد بود، سرور اختصاصی، سرور مجازی لینوکس، سرور مجازی ویندوز و … را با بالاترین کیفیت جهانی تجربه کنید.

سخن آخر

در این مقاله نحوه نصب Varnish Cache 7 را بر روی اوبونتو 22.04 بررسی کردیم، قبل از انجام دادن مراحل توضیح داده شده، پیش نیاز هایی که در متن مقاله اشاره شده اند را نصب کنید.

با انجام مراحل توضیح داده شده با دستورات به راحتی می توان 7 Varnish Cache را بر روی اوبونتو نصب کرد، این فرآیند به شما در داشتن یک وب سرور با سرعت ایده آل کمک خواهد کرد.

امیدوارم خواندن این مقاله برای شما مفید واقع شده باشد و از مزالعه آن لذت برده باشد، از این که ما را همراهی کردید سپاسگزاریم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *