CentOS 7에 페인트를 사용하도록 Magento 2 구성

CentOS 7에 페인트를 사용하도록 Magento 2 구성

2022-05-17 last update

14 minutes reading varnish centos magento ecommerce
페이지 속도나 마운트 시간은 인터넷 상점의 성공에 매우 중요하다.로드 시간은 특정 페이지의 컨텐트를 로드하는 데 필요한 총 시간입니다.적재 시간이 길수록 전환률이 낮다.구글이 고려한 검색엔진 순위를 결정하는 가장 중요한 요소 중 하나다.첫 번째 기사에서는 CentOS 7 기기에 Magento 2를 설치했습니다.두 번째 게시물series
, Magento 상점을 매우 빠르게 설치할 수 있도록 페인트를 설치하고 설정하는 방법을 소개할 것입니다.

선결 조건

준수 보장 instructions from the first post
저장소가 이미 설정되어 있습니다EPEL.

작업 원리

Varnish는 SSL을 지원하지 않기 때문에 SSL 종료 에이전트로 다른 서비스를 사용해야 합니다. 예를 들면 Nginx
. 방문자가 포트HTTPS에서 443를 통해 사이트를 열 때 요청은 Nginx에서 처리하고 Nginx가 에이전트로 요청을 Varnish(포트 80)에 전달합니다.Varnish는 요청이 캐시되는지 확인합니다.캐시가 되면 Varnish는 Magento 애플리케이션에 요청하지 않고 캐시된 데이터를 Nginx로 반환합니다.요청이 캐시되지 않으면 Varnish는 포트8080를 통해 Nginx에 요청을 전달하고 Nginx는 Magento에서 데이터를 추출하며 Varnish는 캐시 응답을 합니다.만약 방문자가 포트SSL80가 없는 상황에서 당신의 사이트를 열면 그는Varnish에 의해 포트HTTPS에 있는443 URL로 다시 지정됩니다.

Nginx 구성

편집 필요Nginx server block
첫 번째 기사에서 SSL/TLS 종료를 처리하고 Varnish의 백엔드/etc/nginx/conf.d/example.일반 도메인 이름 형식.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 서버 블록을 삭제해야 합니다.다음 줄을 주석하거나 삭제합니다:/etc/nginx/nginx.형태
...
# 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 {
#     }
# }
...
Reload the Nginx
변경 효력 발생 서비스:
sudo systemctl reload nginx

페인트 설치 및 구성

Varnish는 빠른 역방향 프록시 HTTP 가속기로서 저희 웹 서버 앞에 위치하고 Magento가 설치한 nginx.conf 솔루션으로 사용할 것입니다.다음 명령을 사용하여yum을 통해Varnish를 설치합니다.
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
위의 명령은 루트 사용자나 사용sudo privileges의 사용자 신분으로 실행되어야 합니다.
기본값으로 파일Full Page Cache을 만들고 기본값/etc/varnish/default.vcl을 백엔드 호스트로 하고 포트localhost를 백엔드 포트로 합니다.기본 구성은 상태 점검 파일에 잘못된 URL을 제공합니다.노란색으로 강조 표시된 행에서 제거8080 부품:/etc/varnish/default.vcl
...
.probe = {
     # .url = "/pub/health_check.php";
     .url = "/health_check.php";
     .timeout = 2s;
     .interval = 5s;
     .window = 10;
     .threshold = 5;
}
...
기본적으로 Varnish 감청 포트default.vcl/pub:/etc/Varnish/Varnish/Varnish로 변경해야 합니다.params
VARNISH_LISTEN_PORT=80
가 수정을 완료한 후Varnish 서비스를 시작하고 시작합니다.
sudo systemctl enable varnishsudo systemctl start varnish
도구로 실시간 웹 요청을 보고 Varnish를 디버깅할 수 있습니다.

결론

이 자습서에서는 Varnish를 전체 페이지 캐시로 구현함으로써 Magento 인스턴스를 가속화하는 방법을 보여 줍니다.(adsbygoogle=window.adsbygoogle | |[]).추진({});만약 어떤 문제가 발생하면 아래에 메시지를 남겨 주세요.
이 문장은 How to install and configure Magento 2 on CentOS 7 시리즈의 일부분이다.이 시리즈의 추가 게시물: •
Install Magento 2 on CentOS 72018년 3월 15일
Magento 2를 CentOS 7월 27일(2018년 3월 27일)에 페인트를 사용하도록 구성