وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

Magento 2 را برای استفاده از Varnish در آن پیکربندی کنید CentOS 7

0 4
زمان لازم برای مطالعه: 3 دقیقه



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

در پست اول مجنتو 2 را روی خود نصب کردیم CentOS 7 دستگاه. در پست دوم این مجموعه، نصب و پیکربندی Varnish را برای سریع کردن فروشگاه Magento ما پوشش خواهیم داد.

پیش نیازها

مطمئن شوید که دستورالعمل های پست اول را دنبال کرده اید و دارید EPEL مخزن فعال شد

چگونه کار می کند

Varnish از SSL پشتیبانی نمی کند، بنابراین باید از سرویس دیگری به عنوان پروکسی خاتمه SSL استفاده کنیم، در مورد ما که Nginx خواهد بود.

هنگامی که یک بازدید کننده وب سایت شما را باز می کند HTTPS در بندر 443 درخواست توسط Nginx انجام می شود که به عنوان یک پروکسی کار می کند و درخواست را به Varnish (در پورت 80) ارسال می کند. وارنیش بررسی می کند که آیا درخواست ذخیره شده است یا نه. اگر کش باشد، Varnish داده های کش شده را بدون درخواست به برنامه Magento به Nginx برمی گرداند. اگر درخواست ذخیره نشود، Varnish درخواست را به Nginx در پورت ارسال می کند 8080 که داده ها را از Magento می کشد و Varnish پاسخ را کش می کند.

اگر بازدید کننده وب سایت شما را بدون SSL در بندر 80 سپس او به مسیر هدایت می شود HTTPS در بندر 443 URL توسط وارنیش.

پیشنهاد می‌کنیم بخوانید:  نحوه تهیه Nexus Sonatype OSS در Orange PI 5 با Ansible

پیکربندی Nginx

ما باید بلوک سرور Nginx را که در پست اول ایجاد کردیم، ویرایش کنیم تا خاتمه SSL/TLS و به عنوان یک back-end برای Varnish باشد.

/etc/nginx/conf.d/example.com.conf
upstream fastcgi_backend {
  server   unix:/run/php-fpm/magento.sock;
}

server {
    listen 127.0.0.1:8080;
    server_name example.com www.example.com;

    set $MAGE_ROOT /opt/magento/public_html;
    set $MAGE_MODE developer; # or production

    include snippets/letsencrypt.conf;
    include /opt/magento/public_html/nginx.conf.sample;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    location / {
        proxy_pass http://127.0.0.1;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-Port 443;
    }
}

همچنین باید بلوک پیش فرض سرور Nginx را از روی آن حذف کنیم nginx.conf فایل. خطوط زیر را کامنت کنید یا حذف کنید:

/etc/nginx/nginx.conf
...
# server {
#     listen       80 default_server;
#     listen       [::]:80 default_server;
#     server_name  _;
#     root         /usr/share/nginx/html;
#
#     # Load configuration files for the default server block.
#     include /etc/nginx/default.d/*.conf;
#
#     location / {
#     }
#
#     error_page 404 /404.html;
#        location = /40x.html {
#     }
#
#     error_page 500 502 503 504 /50x.html;
#         location = /50x.html {
#     }
# }
...

برای اعمال تغییرات، سرویس Nginx را دوباره بارگیری کنید:

sudo systemctl reload nginx

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

Varnish یک شتاب دهنده سریع HTTP با پروکسی معکوس است که در مقابل وب سرور ما قرار می گیرد و از آن به عنوان یک Full Page Cache راه حل برای نصب مجنتو ما.

Varnish را از طریق yum با دستور زیر نصب کنید:

sudo yum install varnish

برای پیکربندی مجنتو برای استفاده از Varnish run:

php /opt/magento/public_html/bin/magento config:set --scope=default --scope-code=0 system/full_page_cache/caching_application 2

بعد، ما باید یک فایل پیکربندی Varnish تولید کنیم:

sudo php /opt/magento/public_html/bin/magento varnish:vcl:generate > /etc/varnish/default.vcl

دستور بالا باید به عنوان یک روت یا کاربر با امتیازات sudo اجرا شود و یک فایل ایجاد می کند /etc/varnish/default.vcl با استفاده از مقادیر پیش فرض که هستند localhost به عنوان back-end host و بندر 8080 به عنوان پورت back-end

پیشنهاد می‌کنیم بخوانید:  روش نصب استریسک روی CentOS 7

پیکربندی پیش‌فرض با یک URL اشتباه برای فایل بررسی سلامت همراه است. باز کن default.vcl فایل و حذف کنید /pub بخشی از خط که با رنگ زرد مشخص شده است:

/etc/varnish/default.vcl
...
.probe = {
     # .url = "/pub/health_check.php";
     .url = "/health_check.php";
     .timeout = 2s;
     .interval = 5s;
     .window = 10;
     .threshold = 5;
}
...

به طور پیش فرض، Varnish به پورت گوش می دهد 6081، و ما باید آن را تغییر دهیم 80:

/etc/varnish/varnish.params
VARNISH_LISTEN_PORT=80

پس از انجام تغییرات، سرویس Varnish را راه اندازی و فعال کنید:

sudo systemctl enable varnishsudo systemctl start varnish

می توانید استفاده کنید varnishlog ابزاری برای مشاهده درخواست های وب بلادرنگ و اشکال زدایی Varnish.

نتیجه

در این آموزش، ما به شما نشان دادیم که چگونه با اجرای Varnish به صورت کامل، نمونه مجنتو خود را افزایش دهید. page حافظه پنهان

اگر به مشکلی برخوردید، در زیر نظر دهید.

لاک الکل centos ecommerce magento

این پست بخشی از روش نصب و پیکربندی Magento 2 در CentOS 7 سلسله.
سایر پست های این مجموعه:


Magento 2 را نصب کنید CentOS 7

Magento 2 را برای استفاده از Varnish در آن پیکربندی کنید CentOS 7
برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-27 23:20:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید