기계적 인조 인간

centos 7에서 바니시를 사용하도록 magento 2 구성

Установка и настройка CentOS в VirtualBox

Установка и настройка CentOS в VirtualBox

차례:

Anonim

온라인 상점의 성공을 위해서는 페이지 속도 또는 로딩 시간이 매우 중요합니다. 로드 시간은 특정 페이지의 컨텐츠를로드하는 데 걸리는 총 시간입니다. 로딩 시간이 길수록 전환율이 낮아집니다. 또한 Google이 검색 엔진 순위를 결정하기 위해 고려하는 가장 중요한 요소 중 하나입니다.

첫 번째 게시물에서는 CentOS 7 시스템에 Magento 2를 설치했습니다. 이 시리즈의 두 번째 게시물에서는 Magento 저장소를 매우 빠르게 만들기 위해 Varnish 설치 및 구성에 대해 다룰 것입니다.

전제 조건

첫 번째 게시물의 지침을 따르고 EPEL 리포지토리가 활성화되어 있는지 확인하십시오.

작동 원리

니스는 SSL을 지원하지 않으므로 다른 서비스를 SSL 종료 프록시로 사용해야합니다.이 경우 Nginx입니다.

방문자가 포트 443 에서 HTTPS 를 통해 웹 사이트를 열면 요청은 프록시로 작동하고 요청을 Varnish (포트 80)로 전달하는 Nginx에 의해 처리됩니다. 니스는 요청이 캐시되었는지 여부를 확인합니다. 캐시 된 경우 Varnish는 캐시 된 데이터를 Magento 응용 프로그램에 대한 요청없이 Nginx에 반환합니다. 요청이 캐시되지 않으면 Varnish는 포트 8080 Nginx로 요청을 전달합니다.이 포트는 Magento에서 데이터를 가져오고 Varnish는 응답을 캐시합니다.

방문자가 포트 80 SSL 없이 웹 사이트를 열면 Varnish에 의해 포트 443 URL의 HTTPS 로 리디렉션됩니다.

Nginx 구성

SSL / TLS 종료를 처리하고 Varnish의 백엔드로 첫 번째 게시물에서 생성 한 Nginx 서버 블록을 편집해야합니다.

/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.conf 파일에서 기본 Nginx 서버 블록을 제거해야합니다. 다음 줄을 주석 처리하거나 삭제하십시오.

/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 가속기이며 Magento 설치를위한 Full Page Cache 솔루션으로 사용됩니다.

다음 명령으로 yum을 통해 Varnish를 설치하십시오.

sudo yum install varnish

Varnish 실행을 사용하도록 Magento를 구성하려면:

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

다음으로 니스 구성 파일을 생성해야합니다.

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

위의 명령은 sudo 권한을 가진 루트 또는 사용자로 실행해야하며 백엔드 호스트로 localhost 및 백엔드 포트로 포트 8080 기본값을 사용하여 /etc/varnish/default.vcl 파일을 작성합니다.

기본 구성에는 상태 점검 파일에 대한 잘못된 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

수정 작업이 완료되면 니스 서비스를 시작하고 활성화하십시오.

sudo systemctl enable varnish sudo systemctl start varnish

varnishlog 도구를 사용하여 실시간 웹 요청을보고 바니시를 디버깅 할 수 있습니다.

결론

이 자습서에서는 Varnish를 전체 페이지 캐시로 구현하여 Magento 인스턴스 속도를 높이는 방법을 보여주었습니다.

마 젠토 전자 상거래 centos 와니스

이 게시물은 CentOS 7 시리즈에서 Magento 2를 설치하고 구성하는 방법의 일부입니다.

이 시리즈의 다른 게시물:

• CentOS 7에 Magento 2 설치 • CentOS 7에서 Varnish를 사용하도록 Magento 2 구성