운영 및 유지보수 엔진스 gzip 구성 방법에 대한 Nginx 기본 소개

gzip 구성 방법에 대한 Nginx 기본 소개

Jun 03, 2023 am 09:52 AM
nginx gzip

머리말

gzip(gnu-zip)은 압축 기술입니다. gzip 압축 후 페이지 크기는 원래 크기보다 30% 또는 더 작게 줄어들 수 있으므로 사용자는 페이지를 훨씬 빠르게 탐색할 수 있습니다. gzip 압축 페이지는 브라우저와 서버 모두에서 지원되어야 합니다. 이는 실제로 브라우저로 전송된 후 브라우저가 압축을 풀고 구문 분석하는 것입니다. 대부분의 최신 브라우저는 gzip 페이지 구문 분석을 지원하므로 브라우저에 대해 걱정할 필요가 없습니다.

프런트엔드든 백엔드든 프로젝트를 배포할 때 nginx를 자주 사용하고, 소규모 프로젝트에서는 리버스 프록시 등을 사용하는 경우가 많습니다. 오늘은 간단하고 직접적으로 요점 중 하나인 gzip에 대해 이야기하겠습니다. 오류가 있으면 정정해 주세요.

Ubuntu, centos, linux 등은 서버 측에서 흔히 사용됩니다. 서버가 없으면 로컬로 플레이할 수 있습니다.

mac 설치

mac에서는 Brew를 사용하여 직접 설치할 수 있습니다. Brew가 설치되어 있지 않은 경우 먼저 설치하면 됩니다.

/usr/bin/ruby -e "$(curl -fssl https://raw.githubusercontent.com/homebrew/install/master/install)"
brew install nginx
로그인 후 복사

기본 구성

설치가 완료되면 다음과 같은 내용이 표시됩니다. 명령줄에는 다음 정보가 포함되어 있습니다. nginx를 볼 수 있습니다. .conf가 있는 경로는 우리가 찾고 있는 구성 파일입니다. 포트 정보도 포함되어 있습니다. nginx를 시작하면 http://localhost:8080에 직접 접속할 수 있습니다. 아래 그림과 같은 페이지가 나타나면 설치가 성공한 것입니다.

docroot: /usr/local/var/www
default config: /usr/local/etc/nginx/nginx.conf
port:8080
로그인 후 복사

gzip 구성 방법에 대한 Nginx 기본 소개

몇 가지 공통 명령

  • 시작: nginxnginx

  • 重新热启动:nginx -s reload

  • 关闭:nginx -s stop

  • 测试语法:nginx -t

gizp配置:

gzip 相关配置可放在 http{} server{} location{} 层级,若不同层级有重复设置优先级为 location{} > server{} > http{}

1、开启 gzip压缩

gzip on;
로그인 후 복사

2、gzip http 版本

gzip_http_version 1.0;
로그인 후 복사
로그인 후 복사

3、禁止ie6进行gzip压缩(当然现在已经基本没有人使用ie6了)

gzip_disable "msie [1-6]";
로그인 후 복사

4、压缩级别(1~9,一般为平衡文件大小和cpu使用,5是常用值,当然跟实际机器的情况有关)

gzip_comp_level 5;
로그인 후 복사

5、最小压缩临界值(默认的是20字节)

gzip_min_length 20;
로그인 후 복사

6、压缩通过代理链接的客户端数据

gzip_proxied any;
로그인 후 복사

7、采用http协议版本 默认是1.1 ,对于1.0的请求不会压缩,如果设置成1.0,表示http1.0以上 的版本都会压缩。(如果使用了proxy_pass 进行反向代理,那么nginx和后端的 upstream server之间默认是用 http/1.0协议通信的。)

gzip_http_version 1.0;
로그인 후 복사
로그인 후 복사

8、代理缓存压缩和原始版本资源,避免客户端因accept-encoding不支持gzip而发生错误的现象(现在一般都采用gzip)

gzip_vary on;
로그인 후 복사

9、压缩文件类型(默认总是压缩 text/html类型,其中特别说明的是application/javascript和text/javascript最好都加上,若页面script标签的type不同则有可能发生部分js文件不会压缩,默认type为application/javascript)

gzip_types application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/javascript text/x-component;
로그인 후 복사

10、如果有已经压缩的(.gz)或者提供静态文件服务,可以设置为on。如果不是这样,最好设置为off,因为这会造成额外的i/o开销。一个比较好的处理方式是放在location{}server{}

핫 재시작: nginx -s reload


닫기: nginx -s stop🎜🎜🎜테스트 구문: nginx -t🎜🎜 🎜 gizp 구성: 🎜🎜🎜🎜gzip 관련 구성은 다른 경우 http{} , server{} 또는 location{} 수준에 배치할 수 있습니다. 수준에서 반복되는 설정이 있습니다: location{} > server{} > http{}🎜🎜1. gzip 압축을 켜세요🎜🎜
gzip_static on;
로그인 후 복사
🎜3. . IE6을 비활성화하면 gzip 압축이 수행됩니다(물론 현재 IE6을 사용하는 사람은 거의 없습니다)🎜🎜
gzip_buffers 16 8k;
로그인 후 복사
🎜4. 압축 수준(1~9, 일반적으로 파일 크기와 CPU 사용량의 균형, 5는 물론 실제 머신 상황) 🎜🎜rrreee🎜5. 최소 압축 임계값(기본값은 20바이트) 🎜🎜rrreee🎜6. 프록시를 통해 연결된 클라이언트 데이터를 압축합니다.🎜🎜rrreee🎜7. 기본 http 프로토콜 버전은 1.0입니다. 1.0으로 설정하면 http1.0 이상의 버전은 압축됩니다. (proxy_pass가 역방향 프록시에 사용되는 경우 nginx와 백엔드 업스트림 서버 간의 통신은 기본적으로 http/1.0 프로토콜을 사용합니다.)🎜🎜rrreee🎜8 클라이언트가 수락하지 못하도록 프록시 캐시와 원본 버전 리소스를 압축합니다. - 인코딩이 gzip을 지원하지 않아 오류가 발생함(현재는 일반적으로 gzip을 사용함) 🎜🎜rrreee🎜9. 압축 파일 형식(기본값은 항상 text/html 형식으로 압축하며 특히 application/javascript 및 text/javascript가 가장 좋음) , 페이지 스크립트 태그 유형이 다른 경우 일부 js 파일은 압축되지 않을 수 있습니다. 기본 유형은 application/javascript)🎜🎜rrreee🎜10 압축(.gz) 또는 정적 파일 서비스가 있는 경우 설정할 수 있습니다. 에. 그렇지 않은 경우 추가 I/O 오버헤드가 발생하므로 끄기로 설정하는 것이 가장 좋습니다. 이를 처리하는 더 좋은 방법은 위치{} 또는 서버{} 수준에서 별도로 처리하는 것입니다. 🎜🎜rrreee🎜11. 압축 결과 데이터 스트림을 저장하는 데 사용되는 공간은 다음과 같습니다. 단위는 8k이며, 메모리는 8k 단위로 원래 데이터 크기의 16배에 해당합니다. 기본값은 gzip 압축 결과를 저장하기 위해 원본 데이터와 동일한 크기의 메모리 공간을 적용하는 것입니다. 🎜🎜rrreee

위 내용은 gzip 구성 방법에 대한 Nginx 기본 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux에서 Nginx를 시작하는 방법 Linux에서 Nginx를 시작하는 방법 Apr 14, 2025 pm 12:51 PM

Linux에서 Nginx를 시작하는 단계 : Nginx가 설치되어 있는지 확인하십시오. systemctl start nginx를 사용하여 nginx 서비스를 시작하십시오. SystemCTL을 사용하여 NGINX를 사용하여 시스템 시작시 NGINX의 자동 시작을 활성화하십시오. SystemCTL 상태 nginx를 사용하여 시작이 성공했는지 확인하십시오. 기본 환영 페이지를 보려면 웹 브라우저의 http : // localhost를 방문하십시오.

nginx403 오류를 해결하는 방법 nginx403 오류를 해결하는 방법 Apr 14, 2025 pm 12:54 PM

서버는 요청 된 리소스에 액세스 할 수있는 권한이 없으므로 Nginx 403 오류가 발생합니다. 솔루션에는 다음이 포함됩니다. 파일 권한 확인 권한을 확인하십시오. .htaccess 구성을 확인하십시오. nginx 구성을 확인하십시오. Selinux 권한을 구성하십시오. 방화벽 규칙을 확인하십시오. 브라우저 문제, 서버 장애 또는 기타 가능한 오류와 같은 다른 원인을 해결하십시오.

Nginx에서로드 밸런싱을 구성하는 방법 Nginx에서로드 밸런싱을 구성하는 방법 Apr 14, 2025 am 08:33 AM

로드 밸런싱을 위해 nginx를 구성하는 방법은 무엇입니까? 업스트림 서버 풀을 정의하고 서버 IP 및 포트를 지정합니다. 가상 호스트를 정의하고 연결을 듣고 상류 풀로 전달하십시오. 위치를 지정하고 요청을 일치시킨 후 상류 풀에 전달하십시오.

Nginx의 실행 상태를 확인하는 방법 Nginx의 실행 상태를 확인하는 방법 Apr 14, 2025 am 11:48 AM

nginx의 실행 상태를 보는 방법은 다음과 같습니다. PS 명령을 사용하여 프로세스 상태를보십시오. nginx 구성 파일 /etc/nginx/nginx.conf를 봅니다. Nginx 상태 모듈을 사용하여 상태 끝점을 활성화하십시오. Prometheus, Zabbix 또는 Nagios와 같은 모니터링 도구를 사용하십시오.

Windows에서 nginx를 구성하는 방법 Windows에서 nginx를 구성하는 방법 Apr 14, 2025 pm 12:57 PM

Windows에서 Nginx를 구성하는 방법은 무엇입니까? nginx를 설치하고 가상 호스트 구성을 만듭니다. 기본 구성 파일을 수정하고 가상 호스트 구성을 포함하십시오. 시작 또는 새로 고침 Nginx. 구성을 테스트하고 웹 사이트를보십시오. SSL을 선택적으로 활성화하고 SSL 인증서를 구성하십시오. 포트 80 및 443 트래픽을 허용하도록 방화벽을 선택적으로 설정하십시오.

nginx304 오류를 해결하는 방법 nginx304 오류를 해결하는 방법 Apr 14, 2025 pm 12:45 PM

질문에 대한 답변 : 304 수정되지 않은 오류는 브라우저가 클라이언트 요청의 최신 리소스 버전을 캐시했음을 나타냅니다. 솔루션 : 1. 브라우저 캐시를 지우십시오. 2. 브라우저 캐시를 비활성화합니다. 3. 클라이언트 캐시를 허용하도록 nginx를 구성합니다. 4. 파일 권한을 확인하십시오. 5. 파일 해시를 확인하십시오. 6. CDN 또는 리버스 프록시 캐시를 비활성화합니다. 7. nginx를 다시 시작하십시오.

nginx가 시작되었는지 확인하는 방법 nginx가 시작되었는지 확인하는 방법 Apr 14, 2025 pm 01:03 PM

nginx가 시작되었는지 확인하는 방법 : 1. 명령 줄을 사용하십시오 : SystemCTL 상태 nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. 포트 80이 열려 있는지 확인하십시오. 3. 시스템 로그에서 nginx 시작 메시지를 확인하십시오. 4. Nagios, Zabbix 및 Icinga와 같은 타사 도구를 사용하십시오.

nginx 오류 로그를 청소하는 방법 nginx 오류 로그를 청소하는 방법 Apr 14, 2025 pm 12:21 PM

오류 로그는/var/log/nginx (linux) 또는/usr/local/var/log/nginx (macOS)에 있습니다. 명령 줄을 사용하여 단계를 정리하십시오. 1. 원래 로그를 백업하십시오. 2. 빈 파일을 새 로그로 만듭니다. 3. Nginx 서비스를 다시 시작하십시오. 자동 청소는 Logrotate 또는 구성과 같은 타사 도구와 함께 사용할 수도 있습니다.

See all articles