آذرسیس

Recommended Services
Supported Scripts
WordPress
Joomla
Hubspot
Drupal
Wix
Shopify
Magento
آموزش نصب Varnish Cache 7 در اوبونتو 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 7:

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

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

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

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

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

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

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

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

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

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

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

مرحله 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

نتیجه گیری

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

سوالات متداول:

چگونه پی ببریم که varish cache کار می کند؟

برای پی بردن به اینکه varnish در حال پروکسی است، به دنبال وجود هدر X-Varnish در پاسخ باشید. هدر age در هنگام از دست دادن حافظه 0 و در hit بالای 0 خواهد بود. اولین درخواست از یک صفحه همیشه از دست خواهد رفت.

varnish cache چند درصد از حافظه را در بر می گیرد؟

حد پیش فرض حافظه در varnish حدود 256 مگابایت می باشد. البته اگر بخواهید این میزان را افزایش دهید می توانید با تغییر مقدار VARNISH_STORAGE در فایل /etc/varnishvarnish/ این کار را بکنید.

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

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