머리말
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
몇 가지 공통 명령
시작: nginx
nginx
重新热启动: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;
gzip_buffers 16 8k;
위치{}
또는 서버{}
수준에서 별도로 처리하는 것입니다. 🎜🎜rrreee🎜11. 압축 결과 데이터 스트림을 저장하는 데 사용되는 공간은 다음과 같습니다. 단위는 8k이며, 메모리는 8k 단위로 원래 데이터 크기의 16배에 해당합니다. 기본값은 gzip 압축 결과를 저장하기 위해 원본 데이터와 동일한 크기의 메모리 공간을 적용하는 것입니다. 🎜🎜rrreee위 내용은 gzip 구성 방법에 대한 Nginx 기본 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!