نصب وارنیش‌ کش
۱۳ مرداد ۱۴۰۱
خواندن 2 دقیقه
مریم ملائی

نحوه نصب وارنیش‌ کش برای آپاچی بر روی سنتو‌س 7

وارنیش‌ کش یک پروکسی معکوس متن باز است که از پروتکل HTTP استفاده می‌کند، اگر می‌خواهید عملکرد سرور وبسایت‌تان را افزایش دهید قطعا انتخاب این پروکسی گزینه مناسبی است. در این مقاله نحوه نصب وارنیش‌ کش برای آپاچی بر روی سنتو‌س 7 بررسی خواهیم کرد.

وارنیش کش چیست؟

این سیستم کش یک شتاب‌دهنده HTTP است که به صورت تخصصی بر روی این پروتکل تمرکز دارد و به عنوان سرویس کش در برابر سرور های آپاچی و یا Nginx قرار می‌گیرد، برای وب سرور هایی که ترافیک بالایی دارند و برای کاربران به طور مداوم در حال سرویس دهی هستند استفاده می‌شود.

ویژگی‌های وارنیش کش

این پروکسی با عملکرد بالایی که دارد به سرعت شبکه محدود می‌شود و در سخت افزار های معمولی عملکرد حداقل 20 گیگابیت بر ثانیه را عرضه می‌کند. یکی دیگر از ویژگی‌های وارنیش کش انعطاف پذیری زبان پیکربندی آن یعنی VCL است، این زبان شما را قادر می‌سازد تا بر نحوه دریافت و پاسخ درخواست‌ها و محتوا‌ها مدیریت داشته باشید.

پیشنیازها برای نصب وارنیش کش

قبل از نصب وارنیش کش حتما موارد زیر را تهیه کنید؛

  •  سرور سنتو‌س 7 نسخه 64 بیتی
  • یک کاربر sudo غیر روت شده
  • غیر فعال کردن SELinux

13 دستورات پیکربندی و عیب یابی شبکه لینوکس

مراحل نصب وارنیش کش برای آپاچی بر روی سنتو‌س 7

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

پیکربندی فایروال سنتو‌س 7 

اگر از FirewallD استفاده می کنید، قوانین فایروال را به گونه‌ای تغییر دهید تا ترافیک ورودی بر روی پورت 80 مجاز باشد. اگر از پیکربندی فایروال خود مطمئن نیستید، FirewallD و  اتصالات سرور مجازی خود را مجددا بررسی کنید. ما در این مقاله فرض می‌کنیم که شما یک نمونه جدید سنتو‌س 7 دارید؛

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

نصب آپاچی در سنتوس 7

سرور Apache HTTP را نصب کنید.

sudo yum install -y httpd

پورت Apache را روی 8080 قرار دهید، سپس httpd.conf را با دستور nano ویرایش کنید.

sudo nano /etc/httpd/conf/httpd.conf

خط “Listen 80” را به “Listen 8080” تغییر دهید سپس فایل را ذخیره کرده و ببندید. خط دستوری جدید پس از اتمام ویرایش باید به شکل زیر باشد.

 Listen 8080

سرویس آپاچی را راه اندازی کنید.

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

تنظیمات آپاچی در سنتوس 7

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

sudo touch /var/www/html/test.html

سپس از curl برای تست سرور در پورت 8080 استفاده کنید که آیا آپاچی به درستی پیکربندی شده است یا خیر؟

curl -I http://localhost:8080/test.html

HTTP/1.1 200 OK
Date: Fri, 10 Jul 2020 13:10:04 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Fri, 10 Jul 2020 13:09:56 GMT
ETag: "0-5aa160eb192a8"
Accept-Ranges: bytes
Content-Type: text/html; charset=UTF-8

نصب وارنیش کش در سنتوس 7

ریپازیتوری EPEL را اضافه کنید.

sudo yum install -y epel-release

پیکج های وابسته به ریپازیتوری را نصب کنید.

sudo yum install -y pygpgme yum-utils

ریپازیتوری وارنیش‌ کش را اضافه کنید. سپس مسیر etc/yum.repos.d/varnish60lts.repo/ را ویرایش کنید.

sudo nano /etc/yum.repos.d/varnish60lts.repo

موارد زیر را الحاق کرده و سپس فایل را ذخیره کرده و ببندید.

[varnish60lts]
name=varnishcache_varnish60lts
baseurl=https://packagecloud.io/varnishcache/varnish60lts/el/7/x86_64
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish60lts/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

کش yum را برای ریپازیتوری وارنیش‌ کش به روز رسانی کنید.

sudo yum -q makecache -y --disablerepo='*' --enablerepo='varnish60lts'

وارنیش را نصب کنید.

sudo yum install -y varnish

بررسی کنید که آیا وارنیش‌ کش نصب شده است و نسخه آن صحیح است؟

sudo varnishd -V
varnishd (varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2019 Varnish Software AS

در هنگام بوت شدن سیستم، وارنیش‌ کش را فعال کنید.

sudo systemctl enable --now varnish

وارنیش‌ کش را برای گوش دادن در پورت 80، از پیش‌فرض 6081 پیکربندی کرده و فایل varnish.service را با دستور nano ویرایش کنید.

sudo nano /usr/lib/systemd/system/varnish.service

خطی را که با ExecStart شروع می شود از پورت 6081 به پورت 80 تغییر دهید، سپس فایل را ذخیره کرده و ببندید. خط پس از اتمام ویرایش باید به شکل زیر باشد.

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

سرویس وارنیش‌ کش را مجددا راه اندازی کنید.

sudo systemctl daemon-reload
sudo systemctl restart varnish

تست فایل‌های نصب شده در سنتوس 7

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

curl -I http://localhost/test.html

خروجی باید شبیه دستورات زیر باشد. دستورات هدر X-Varnish: 2 و Via: 1.1 varnish (Varnish/6.0) زمانی ظاهر می شوند که وارنیش‌ کش در حال اجرا باشد.

HTTP/1.1 200 OK
Date: Thu, 09 Jul 2020 18:46:00 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 09 Jul 2020 18:45:53 GMT
ETag: "0-5aa06a2507662"
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Accept-Ranges: bytes
Connection: keep-alive

در سرور مجازی لینوکس:

curl -I http://192.0.2.123/test.html

در پاورشل ویندوز:

PS> curl -Uri http://192.0.2.123/test.html

عیب‌یابی نصب وارنیش‌ کش در سنتوس 7

برای عیب یابی نصب این پروکسی بایستی حتما مراحل زیر را انجام دهید و درنهایت Firewall را چک کنید.

بررسی پورت‌ها 

از ابزار ss برای بررسی اینکه کدام فرآیندها در کدام پورت ها گوش داده می‌شوند استفاده کنید.

# ss -lnpt | grep 80
LISTEN 0 128 *:80 *:* users:(("cache-main",pid=2253,fd=3),("varnishd",pid=2243,fd=3))
LISTEN 0 128 [::]:80 [::]:* users:(("cache-main",pid=2253,fd=5),("varnishd",pid=2243,fd=5))
LISTEN 0 128 [::]:8080 [::]:* users:(("httpd",pid=1373,fd=4),("httpd",pid=1372,fd=4),("httpd",pid=1371,fd=4),("httpd",pid=1370,fd=4),("httpd",pid=1369,fd=4),("httpd",pid=1368,fd=4))

مطمعن شوید که طبق دستورات بالا varnishd در پورت 80  و httpd روی پورت 8080 گوش می دهد.

تست با استفاده از ابزار crul

 

curl -I http://localhost/test.html

HTTP/1.1 503 Backend fetch failed
Date: Fri, 10 Jul 2020 14:01:13 GMT
Server: Varnish
Content-Type: text/html; charset=utf-8
Retry-After: 5
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Content-Length: 278
Connection: keep-alive

اگر ابزار پیام خطای “HTTP/1.1 503 Backend fetch failed” را برگرداند، مسیر etc/varnish/default.vcl/ را بررسی کنید.

nano /etc/varnish/default.vcl

مطمئن شوید که نقاط بخش پیش‌فرض بک‌اند آپاچی به پورت 8080 اشاره می‌کند.

backend default {
.host = "127.0.0.1";
.port = "8080";
}

بخش Firewall در سنتوس 7 

در انتها باید تنظیمات فایروال خود را بررسی کنید و برای اطلاعات بیشتر در مورد پیکربندی فایروال می‌توانید به گام اول در بخش ابتدایی مقاله مراجعه کرده و آن را مطالعه کنید.

نتیجه‌گیری

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

برای امتیاز به این نوشته کلیک کنید!
[کل: 2 میانگین: 5]
نویسنده مقاله
نویسنده / @مریم ملائی
مقالات مرتبط
دیدگاه بگذارید

تخفیف 50% سرورها
همین الان بخرید