از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Magento 2 را برای استفاده از Varnish در آن پیکربندی کنید CentOS 7
سرفصلهای مطلب
را 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 توسط وارنیش.
پیکربندی Nginx
ما باید بلوک سرور Nginx را که در پست اول ایجاد کردیم، ویرایش کنیم تا خاتمه SSL/TLS و به عنوان یک back-end برای Varnish باشد.
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
فایل. خطوط زیر را کامنت کنید یا حذف کنید:
...
# 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
پیکربندی پیشفرض با یک URL اشتباه برای فایل بررسی سلامت همراه است. باز کن default.vcl
فایل و حذف کنید /pub
بخشی از خط که با رنگ زرد مشخص شده است:
...
.probe = {
# .url = "/pub/health_check.php";
.url = "/health_check.php";
.timeout = 2s;
.interval = 5s;
.window = 10;
.threshold = 5;
}
...
به طور پیش فرض، Varnish به پورت گوش می دهد 6081
، و ما باید آن را تغییر دهیم 80
:
VARNISH_LISTEN_PORT=80
پس از انجام تغییرات، سرویس Varnish را راه اندازی و فعال کنید:
sudo systemctl enable varnish
sudo systemctl start varnish
می توانید استفاده کنید varnishlog
ابزاری برای مشاهده درخواست های وب بلادرنگ و اشکال زدایی Varnish.
نتیجه
در این آموزش، ما به شما نشان دادیم که چگونه با اجرای Varnish به صورت کامل، نمونه مجنتو خود را افزایش دهید. page حافظه پنهان
اگر به مشکلی برخوردید، در زیر نظر دهید.
این پست بخشی از روش نصب و پیکربندی Magento 2 در CentOS 7 سلسله.
سایر پست های این مجموعه:
Magento 2 را نصب کنید CentOS 7
Magento 2 را برای استفاده از Varnish در آن پیکربندی کنید CentOS 7
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-27 23:20:03