نحوه راه اندازی Varnish

مزایای استفاده از این کش سرور برای وب سرور شما به شرح زیر است:
1- منابع کمتری از CPU استفاده میشود.
2- به دلیل آنکه وب کش از حافظه رم استفاده میکند وب سایت شما بسیار سریعتر نمایش داده میشود.
3- در نهایت تعداد بیشتری بازدید کننده را میتوانید به وب سایت خود دعوت کنید.

در این مقاله قصد داریم نحوه را اندازی این کش سرور را بر روی سرور هاست لینوکس از نوع centos یا redhat شرح دهیم.

چه امکانانی نیاز دارید ؟
1- یک سیستم عامل از نوع centos 6 که ما در اینجا از آن استفاده میکنیم.
2- ورود به محیط SSH و آشنایی با دستورات اولیه لینوکس
3- و اینکه وب سایت شما باید سرویس های لازم مانند MySQL و Apache و PHP را برای شروع داشته باشد.

نصب کش Varnish روی سرور
دستور زیر را وارد کنید و وارد پوشه root/ شوید.

 cd ~

سپس دستور زیر را وارد کنید

rpm -Uvh http://repo.varnish-cache.org/redhat/varnish-3.0/el5/noarch/varnish-release/varnish-release-3.0-1.noarch.rpm

تصویری مطابق زیر نمایش داده میشود و بعد از چند ثانیه نصب تمام میشود.

نصب وارنیش

در صورتی که در این مرحله با خطای 404 و پیدانشدن فایل مواجه شدید به وب سایت Varnish و بخش دانلود آن مراجعه کنید.

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

yum install varnish

تصویر زیر به نمایش در می آید.


نصب وارنیش

تصویر زیر تکمیل نصب Varnish را نشان میدهد. در صورتی که در فرآیند نصب از شما تایید خواسته شد دکمه Y را بزنید.


تکمیل نصب Varnish

 

تنظیم Varnish برای کارکردن با Apache

پس از نصب Varnish وقت آن است که تنظیم آن را برای کارکردن در پشت جلوی Apache انجام دهید.
برای این منظور لازم است فایل تنظیم آن را که برای سیستم عامل centos و fedora در مسیر زیر قرار دارد را با یک ویرایشگر مانند vi یا nano باز کنید.

nano /etc/sysconfig/varnish

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


تنظیم Varnish

 

در فایل فوق 4 تنظیم مختلف وجود دارد که در این مثال شما علامت # را به ابتدای همه خط های Alternate 4 اضافه کنید :

فایل تنظیم Varnish

در نهایت این کار را برای Alternative 3 نیز انجام دهید و خط های زیر آن را با علاما # غیر فعال میکنید.
سپس با برداشتن # از ابتدای خط های alternative 2 این تنظیم را فعال میکنید.

سپس خط زیر را با تغییر مقدار 6081 به 80 اصلاح نمایید. درنهایت کد شما مطابق زیر خواهد شد.

DAEMON_OPTS=”-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m”

مقدار 256m در دستور فوق میزان حافظه ای است که میخواهید به کش وارنیش اختصاص دهید.
در مثال ما به دلیل آنکه ما در سرور 512m رم داریم این مقدار را نصف حافظه ای که در دسترس داریم قرار داده ایم.

پس از اصلاح با زدن دکمه Ctrl+O فایل را ذخیره با Ctrl+X از برنامه خارج شوید.

توضیح : در نسخه های مختلف Varnish ممکن است یکی از Alternative ها به عنوان پیش فرض باشد و این از نسخه ای به نسخه دیگر متفاوت باشد. اما تجربه شخصی من نشان میدهد که Alternative 2 از همه ساده تر است.

توضیح : کش Varnish این امکان را دارد که از دیسک یا حافظه رم برای نگهداری فایل های کش استفاده نمایید و این بدهی است که استفاده از حافظه رم بسیار سریعتر خواهد بود اما به هر حال در صورتی که مایل هستید از دیسک استفاده نمایید استفاده از دیسک های SSD بهتر و سریعتر خواهد بود.

 

در مرحله بعد لازم است تنیظمات دیگری بر روی Varnish اعمال گردد.
در این تنظیمات که از طریق فایلی با نام VCL انجام میشود به کش مسیر و پرت وب سرور آپاچی معرفی میگردد.
در مثال ما قرار است آپاچی روی پرت 8080 قرار گیرد.

nano /etc/varnish/default.vcl

فایل VCL پیش فرض Varnish

تغییرات پرت را مطابق زیر اعمال میکنیم :

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}
با اعمال تنظیم فوق آپاچی را روی پرت 8080 و کش وارنیش را به پرت 80 منتقل میکینم.
با استفاده از دستور Ctrl+O فایل را ذخیره سپس با Ctrl+X از برنامه ویراشگر nano خارج میشویم.

تنظیم آپاچی برای کارکردن با کشینگ وارنیش

فایل تنظیم آپاچی را در مسیر زیر باز در ویرایشگر متن nano باز میکنیم. سپس دنبال خطی با محتوای زیر Listen 80 میگردیم و آنرا به مقدرا Listen 8080 تغییر میدهیم.

تغییر پرت آپاچی

سپس دنبال این خط بگردید : NameVirtualHost و مقدار پرت 80 را در مقابل آن به 8080 تغییر دهید.
با زدن دکمه Ctrl+O فایل را ذخیره و سپس با Ctrl+X از برنامه خارج شوید.

در مرحله بعد لازم است آپاچی ریستارت شود مطابق دستور زیر :

service httpd restart

و سرویس Varnish نیز ری استارت شود.

service varnish restart

تصویر زیر ری استارت شدن سرویس های فوق را نشان میدهد.

ری استارت سرویس

پس از انجام نصب فوق وب سایت تان را مشاهده کنید باید وب سایت شما سریعتر لود شود.
دقت کنید که میزان حافظه ای که قرار است توسط سیستم کشینگ Varnish استفاده شود قابل تغییر و افزایش است.در صورتی که از سرور مجازی ( وی پی اس ) استفاده میکنید میتوانید میزان رم را کمتر در نظر بگیرد و برای سرور اختصاصی میتوانید میزان حافظه بیشتری به کش Varnish اختصاص دهید.

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

در صورتی که میخواهید وضعیت و راندمان استفاده از کش را در سرور ملاحظه کنید از دستور زیر استفاده کنید :

varnishstat

دستورات دیگری نیز در خط فرمان وجود دارند که میتوانند گزارشات خوبی از کارکرد سیستم کش لینوکس در اختیار شما قرار دهند.

 

varnishstat : Provides all the info you need to spot cache misses and errors.
varnishhist : Provides a histogram view of cache hits/misses.
varnishlog : Provides detailed information on requests.
varnishtop : It reads varnishd shared memory logs and presents a most commonly occurring log entries.
varnishadm : Command-line varnish administration used to reload vcl and

در نهایت میتوانید با استفاده از دستور زیر از از اجرا شدن سرویس Varnish پس از بوت شدن سرور اطمینان یابید.

chkconfig –level 345 varnish on