← 전체 목록
서버백업운영

Nginx gzip 압축 설정으로 페이지 로딩 속도와 트래픽 비용을 동시에 줄입니다

ℹ️ 본 글은 정보 제공 목적이며, 광고·제휴 링크가 포함될 수 있습니다.

Nginx gzip 압축 설정으로 페이지 속도 개선을 처음 시도한 건 GTmetrix 점수를 올리다가 “Enable text compression” 경고가 빨간불로 떠 있는 걸 발견했을 때입니다. Nginx 기본 설치에서는 gzip이 꺼져 있어서, 10KB짜리 HTML이 압축 없이 그대로 전송되고 있었습니다. gzip을 켠 후 텍스트 기반 파일이 평균 70% 줄어들었고 GTmetrix 점수도 10점 이상 올랐습니다.

현재 gzip 설정 확인

# 현재 Nginx gzip 설정 확인
nginx -T | grep gzip

# 특정 URL에서 압축 여부 확인
curl -H "Accept-Encoding: gzip" -I https://병원사이트.com
# Content-Encoding: gzip 가 나오면 압축 중

최적화된 gzip 설정

sudo nano /etc/nginx/nginx.conf

http {} 블록 안에 추가:

# gzip 압축 활성화
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;

# 압축할 MIME 타입 지정
gzip_types
    text/plain
    text/css
    text/xml
    text/javascript
    application/json
    application/javascript
    application/xml+rss
    application/atom+xml
    image/svg+xml;

# 1KB 미만은 압축 안 함 (압축 오버헤드가 이득보다 큼)
gzip_min_length 1024;

적용:

sudo nginx -t
sudo systemctl reload nginx

압축 효과 확인

# 압축 전후 크기 비교
curl -s https://병원사이트.com | wc -c          # 압축 없이 원본
curl -s --compressed https://병원사이트.com | wc -c  # 브라우저처럼 압축 해제

# 특정 파일 압축 효과
curl -H "Accept-Encoding: gzip" -o /dev/null -s -w "%{size_download}\n" https://병원사이트.com/wp-content/themes/theme/style.css

gzip은 특히 HTML, CSS, JS, JSON 같은 텍스트 기반 파일에 효과적입니다. 이미지(JPG, PNG, WebP)는 이미 압축된 포맷이라 gzip 적용 대상에서 제외하는 것이 맞습니다. 설정 한 번으로 페이지 로딩 속도와 서버 트래픽 비용을 동시에 개선할 수 있습니다.

편집 정책

AI가 초안을 생성하고, 의료기관 인프라 운영자가 1차 데이터 기반으로 최종 검수·승인합니다.

작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)