>운영 및 유지보수 >Apache >mod_deflate를 사용하여 Apache에서 GZIP 압축을 어떻게 구성합니까?

mod_deflate를 사용하여 Apache에서 GZIP 압축을 어떻게 구성합니까?

百草
百草원래의
2025-03-11 17:24:09613검색

이 기사에서는 mod_deflate를 사용하여 Apache에서 GZIP 압축 구성에 대해 자세히 설명합니다. 모듈 활성화, 압축 레벨 설정, 특정 파일 유형에 압축을 선택적으로 적용하고 잠재적 인 문제를 해결하는 것을 설명합니다. 주요 focu

mod_deflate를 사용하여 Apache에서 GZIP 압축을 어떻게 구성합니까?

mod_deflate를 사용하여 Apache에서 GZIP 압축을 구성하는 방법은 무엇입니까?

GZIP 압축 구성 (Apache의 모듈 인 mod_deflate 사용)에는 일반적으로 /etc/apache2/apache2.conf 또는 /etc/httpd/conf/httpd.conf 에 위치한 Apache 구성 파일을 수정하는 것이 포함됩니다. 정확한 위치는 다를 수 있으므로 확실하지 않은 경우 Apache 문서를 참조하십시오. 이러한 변경을 위해서는 근본 또는 관리 권한이 필요합니다.

먼저 mod_deflate 활성화되어 있는지 확인하십시오. 아직로드되지 않은 경우 활성화해야합니다. 일반적으로 라인을 사용하지 않거나 Apache 구성 파일에 다음과 같이 라인을 추가하는 것이 포함됩니다.

 <code class="apache">LoadModule deflate_module modules/mod_deflate.so</code>

mod_deflate.so 의 경로는 Apache 설치에 따라 약간 다를 수 있습니다. 모듈을 활성화 한 후에는 <directory></directory> 또는 <virtualhost></virtualhost> 블록 내에서 매개 변수를 구성해야합니다. 다음은 예제 구성입니다.

 <code class="apache"><ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript application/json DeflateCompressionLevel 6 # Optional: Exclude specific file types # AddOutputFilterByType NO_DEFLATE image/jpeg image/png image/gif </ifmodule></code>

이 구성은 다음을 수행합니다.

  • <ifmodule mod_deflate.c></ifmodule> : 구성은 mod_deflate 가로드 된 경우에만 적용됩니다.
  • AddOutputFilterByType DEFLATE ... : 이 라인은 압축 할 마임 유형을 지정합니다. 예제에는 일반적인 텍스트 기반 콘텐츠 유형이 포함됩니다. 여기에 MIME 유형을 추가하거나 제거하면 어떤 파일이 압축되는지 제어합니다.
  • DeflateCompressionLevel 6 : 압축 수준을 설정합니다. 더 높은 숫자 (1-9)는 압축이 높지만 CPU 사용량이 더 높습니다. 6은 압축과 성능 사이의 균형이 좋습니다. 서버의 최적 수준을 찾기 위해 실험하십시오.
  • AddOutputFilterByType NO_DEFLATE ... : 이것은 이미 압축 된 이미지 (JPEG, PNG, GIF)와 같은 압축에서 특정 파일 유형을 제외하는 선택적 줄입니다. 이를 제외하면 다운로드 시간에 크게 영향을 미치지 않으면 서 CPU 리소스를 절약 할 수 있습니다.

이러한 변경을 수행 한 후 Apache 서버를 다시 시작하여 변경 사항이 적용됩니다. Apache를 다시 시작하라는 명령은 운영 체제에 따라 다릅니다 (예 : sudo systemctl restart apache2 sudo apachectl restart ).

Apache에서 mod_deflate를 사용하여 GZIP 압축을 활성화하면 성능 이점은 무엇입니까?

mod_deflate 사용하여 GZIP 압축을 활성화하면 웹 서버와 클라이언트 브라우저간에 전송 된 파일의 크기를 줄임으로써 상당한 성능 이점을 제공합니다. 더 작은 파일 크기는 다음으로 번역됩니다.

  • 더 빠른 다운로드 시간 : 사용자 경험이 향상되어 사용자 만족도가 높아지고 검색 엔진 순위가 향상됩니다.
  • 대역폭 소비 감소 : 트래픽이 높은 웹 사이트, 대역폭 비용 절감 및 서버 효율성 향상에 중요합니다.
  • 서버 성능 향상 : 압축으로 인해 일부 CPU 오버 헤드가 추가되지만 데이터 전송 감소는 종종 큰 파일 또는 높은 트래픽의 경우이 비용을 능가합니다. 전체 서버 응답 시간을 개선 할 수 있습니다.
  • 더 나은 모바일 경험 : 더 작은 파일 크기는 제한된 대역폭과 느린 연결 속도를 가진 모바일 사용자에게 특히 유용합니다.

실제 성능 이득은 제공되는 컨텐츠 유형, 파일 크기 및 서버의 하드웨어 리소스와 같은 요소에 따라 다릅니다. 그러나 일반적으로 GZIP 압축으로 전송 시간과 대역폭 사용이 상당한 감소 할 것으로 예상 할 수 있습니다.

Apache 서버가 mod_deflate를 사용하여 예상대로 파일을 압축하지 않으면 GZIP 압축 문제를 해결하려면 어떻게해야합니까?

Apache 서버가 예상대로 파일을 압축하지 않으면 mod_deflate 구성하더라도 몇 가지 문제 해결 단계가 문제를 정확히 찾아 낼 수 있습니다.

  1. mod_deflate 확인이 활성화되고 올바르게 구성되어 있습니다. Apache 구성 파일을 확인하여 mod_deflate 가로드되고 AddOutputFilterByType 지시문에 올바른 MIME 유형이 포함되어 있는지 확인하십시오. 구성에서 구문 오류를 찾으십시오.
  2. Apache를 다시 시작 : 구성 파일을 변경 한 후에는 항상 Apache를 다시 시작하여 변경 사항을 적용하십시오.
  3. Apache 오류 로그 확인 : mod_deflate 와 관련된 오류에 대한 Apache 오류 로그를 검사하십시오. 이 로그는 종종 압축이 작동하지 않는 이유에 대한 귀중한 단서를 제공합니다. 오류 로그의 위치는 시스템에 따라 다르지만 일반적인 위치에는 /var/log/apache2/error.log 또는 /var/log/httpd/error_log 가 포함됩니다.
  4. 브라우저 개발자 도구로 테스트 : 브라우저의 개발자 도구 (일반적으로 F12를 눌러 액세스)를 사용하여 요청의 HTTP 헤더를 검사하십시오. Content-Encoding 헤더를 찾으십시오. 누락되었거나 gzip 표시되지 않으면 압축이 작동하지 않습니다.
  5. Mime 유형 확인 : 압축하려는 MIME 유형이 실제로 Apache가 해당 MIME 유형으로 제공되는지 확인하십시오. 잘못된 마임 유형 할당은 압축을 방지 할 수 있습니다.
  6. 충돌하는 모듈 확인 : 다른 Apache 모듈은 mod_deflate 를 방해 할 수 있습니다. 다른 모듈을 일시적으로 비활성화하여 충돌이 발생하는지 확인하십시오.
  7. 파일 권한 확인 : Apache 사용자가 제공중인 파일에 액세스하고 수정하는 데 필요한 권한이 있는지 확인하십시오.
  8. 간단한 HTML 파일로 테스트 : 간단한 HTML 파일을 만들고 액세스하십시오. 이것이 압축되지 않으면 기본 구성에 문제가 있습니다.

이 모든 점을 확인했지만 여전히 문제를 해결할 수없는 경우 Apache 버전, 운영 체제 및보다 타겟팅 된 지원을 위해보고있는 특정 오류 메시지에 대한 자세한 내용을 제공하십시오.

Mod_deflate를 사용하여 Apache 구성의 특정 파일 유형 또는 디렉토리를 사용하여 GZIP 압축을 선택적으로 적용하는 방법이 있습니까?

예, mod_deflate 사용하여 특정 파일 유형 또는 디렉토리에 GZIP 압축을 선택적으로 적용 할 수 있습니다. AddOutputFilterByType 지시문과 결합 된 Apache 구성 파일에서 <filesmatch></filesmatch> , <directory></directory> 또는 <location></location> 지시문을 사용하여이를 달성합니다.

예 1 : 디렉토리 내에서 특정 파일 유형 만 압축 :

 <code class="apache"><directory> AddOutputFilterByType NO_DEFLATE image/* </directory></code>

이 예제는 /var/www/html/images 디렉토리 내에서 이미지의 압축을 방지합니다.

예제 2 : 가상 호스트 내에서 특정 파일 유형 압축 :

 <code class="apache"><virtualhost> ServerName example.com DocumentRoot /var/www/example.com <filesmatch> AddOutputFilterByType DEFLATE text/html text/plain text/css application/x-javascript application/javascript </filesmatch> <filesmatch> AddOutputFilterByType NO_DEFLATE image/* </filesmatch> </virtualhost></code>

이 예제는 이미지 파일을 명시 적으로 제외하면서 example.com 가상 호스트 내에서 HTML, TXT, CSS 및 JS 파일 만 압축합니다. /var/www/example.com 실제 문서 루트로 바꾸는 것을 잊지 마십시오.

예 3 : 특정 디렉토리의 파일 압축 :

 <code class="apache"><directory> AddOutputFilterByType DEFLATE text/html text/plain text/xml </directory></code>

구성 파일을 변경 한 후 Apache를 다시 시작하십시오. 선택적 압축 전략을 신중하게 계획하여 성능을 최적화하고 의도하지 않은 결과를 피하십시오. CPU 오버 헤드가 대역폭 절약을 초과하는 경우 지나치게 공격적인 압축은 때때로 성능 저하로 이어질 수 있습니다.

위 내용은 mod_deflate를 사용하여 Apache에서 GZIP 압축을 어떻게 구성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.