이 기사에서는 mod_deflate를 사용하여 Apache에서 GZIP 압축 구성에 대해 자세히 설명합니다. 모듈 활성화, 압축 레벨 설정, 특정 파일 유형에 압축을 선택적으로 적용하고 잠재적 인 문제를 해결하는 것을 설명합니다. 주요 focu
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
).
mod_deflate
사용하여 GZIP 압축을 활성화하면 웹 서버와 클라이언트 브라우저간에 전송 된 파일의 크기를 줄임으로써 상당한 성능 이점을 제공합니다. 더 작은 파일 크기는 다음으로 번역됩니다.
실제 성능 이득은 제공되는 컨텐츠 유형, 파일 크기 및 서버의 하드웨어 리소스와 같은 요소에 따라 다릅니다. 그러나 일반적으로 GZIP 압축으로 전송 시간과 대역폭 사용이 상당한 감소 할 것으로 예상 할 수 있습니다.
Apache 서버가 예상대로 파일을 압축하지 않으면 mod_deflate
구성하더라도 몇 가지 문제 해결 단계가 문제를 정확히 찾아 낼 수 있습니다.
mod_deflate
확인이 활성화되고 올바르게 구성되어 있습니다. Apache 구성 파일을 확인하여 mod_deflate
가로드되고 AddOutputFilterByType
지시문에 올바른 MIME 유형이 포함되어 있는지 확인하십시오. 구성에서 구문 오류를 찾으십시오.mod_deflate
와 관련된 오류에 대한 Apache 오류 로그를 검사하십시오. 이 로그는 종종 압축이 작동하지 않는 이유에 대한 귀중한 단서를 제공합니다. 오류 로그의 위치는 시스템에 따라 다르지만 일반적인 위치에는 /var/log/apache2/error.log
또는 /var/log/httpd/error_log
가 포함됩니다.Content-Encoding
헤더를 찾으십시오. 누락되었거나 gzip
표시되지 않으면 압축이 작동하지 않습니다.mod_deflate
를 방해 할 수 있습니다. 다른 모듈을 일시적으로 비활성화하여 충돌이 발생하는지 확인하십시오.이 모든 점을 확인했지만 여전히 문제를 해결할 수없는 경우 Apache 버전, 운영 체제 및보다 타겟팅 된 지원을 위해보고있는 특정 오류 메시지에 대한 자세한 내용을 제공하십시오.
예, 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!