Android

Настройте magento 2 для использования лака на centos 7

Install Magento 2 Community Edition on CentOS 7.x

Install Magento 2 Community Edition on CentOS 7.x

Оглавление:

Anonim

Скорость страницы или время загрузки имеют решающее значение для успеха вашего интернет-магазина. Время загрузки - это общее количество времени, которое требуется для загрузки содержимого определенной страницы. Чем дольше время загрузки, тем ниже коэффициент конверсии. Это также один из самых важных факторов, которые Google учитывает при определении рейтинга в поисковых системах.

В первом посте мы установили Magento 2 на нашу машину CentOS 7. Во втором посте этой серии мы расскажем об установке и настройке Varnish, чтобы сделать наш магазин Magento очень быстрым.

Предпосылки

Убедитесь, что вы выполнили инструкции из первого поста и у вас включен репозиторий EPEL .

Как это устроено

Varnish не поддерживает SSL, поэтому нам нужно использовать другую службу в качестве прокси-сервера завершения SSL, в нашем случае это будет Nginx.

Когда посетитель открывает ваш сайт через HTTPS через порт 443 запрос обрабатывается Nginx, который работает как прокси-сервер и передает запрос в Varnish (через порт 80). Varnish проверяет, кешируется ли запрос или нет. Если он кэшируется, Varnish вернет кэшированные данные в Nginx без запроса к приложению Magento. Если запрос не кэшируется, Varnish передает запрос в Nginx через порт 8080 который будет извлекать данные из Magento, а Varnish будет кэшировать ответ.

Если посетитель открывает ваш веб-сайт без SSL на порту 80 он будет перенаправлен на HTTPS на порт 443 URL через Varnish.

Настройка Nginx

Нам нужно отредактировать блок сервера Nginx, который мы создали в первом посте, для обработки завершения SSL / TLS и в качестве бэк-энда для 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 для нашей установки Magento.

Установите Varnish через yum с помощью следующей команды:

sudo yum install varnish

Чтобы настроить Magento для использования 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

Приведенную выше команду необходимо запустить от имени пользователя root или пользователя с привилегиями sudo, и она создаст файл /etc/varnish/default.vcl используя значения по умолчанию, которые являются localhost качестве внутреннего хоста и портом 8080 качестве внутреннего порта.

Конфигурация по умолчанию идет с неправильным 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 varnish sudo systemctl start varnish

Вы можете использовать инструмент varnishlog для просмотра веб-запросов в реальном времени и для отладки Varnish.

Вывод

В этом уроке мы показали, как ускорить работу вашего экземпляра Magento путем реализации Varnish в качестве полностраничного кэша.

magento электронная коммерция centos лак

Этот пост является частью инструкции Как установить и настроить Magento 2 на CentOS 7 series.

Другие посты в этой серии:

• Установите Magento 2 в CentOS 7 • Настройте Magento 2 для использования Varnish в CentOS 7