Heim >Betrieb und Instandhaltung >Nginx >Nginx grundlegende Einführung in die gzip-Konfigurationsmethode

Nginx grundlegende Einführung in die gzip-Konfigurationsmethode

PHPz
PHPznach vorne
2023-06-03 09:52:434233Durchsuche

Vorwort

gzip (gnu-zip) ist eine Komprimierungstechnologie. Nach der GZIP-Komprimierung kann die Seitengröße auf 30 % oder sogar kleiner als die Originalgröße reduziert werden. Auf diese Weise können Benutzer die Seite viel schneller durchsuchen. Die mit gzip komprimierte Seite muss sowohl vom Browser als auch vom Server unterstützt werden. Es handelt sich tatsächlich um eine serverseitige Komprimierung. Nach der Übertragung an den Browser wird sie vom Browser dekomprimiert und analysiert. Um den Browser müssen wir uns keine Sorgen machen, da die meisten aktuellen Browser das Parsen von GZIP-Seiten unterstützen.

Ob Front-End oder Back-End, Nginx wird häufig bei der Bereitstellung von Projekten verwendet, und kleine Projekte verwenden häufig Reverse-Proxy oder ähnliches. Heute werde ich einfach und direkt über einen der Punkte sprechen – gzip. Wenn es Fehler gibt, korrigieren Sie mich bitte.

Ubuntu, Centos, Linux usw. werden häufig auf der Serverseite verwendet. Wenn Sie keinen Server haben, können Sie es lokal spielen.

Mac-Installation

Sie können es direkt mit brew unter Mac installieren zuerst

/usr/bin/ruby -e "$(curl -fssl https://raw.githubusercontent.com/homebrew/install/master/install)"
brew install nginx

Standardkonfiguration

Nachdem die Installation abgeschlossen ist, werden Sie sehen, dass die Befehlszeile die folgenden Informationen enthält. Sie können den Pfad zu nginx.conf sehen, der genau die Konfigurationsdatei ist, nach der wir suchen. Es enthält auch Portinformationen. Wenn Sie Nginx starten, können Sie direkt auf http://localhost:8080 zugreifen. Wenn Sie die in der Abbildung unten gezeigte Seite sehen, ist die Installation erfolgreich.

docroot: /usr/local/var/www
default config: /usr/local/etc/nginx/nginx.conf
port:8080

Nginx grundlegende Einführung in die gzip-Konfigurationsmethode

Mehrere gängige Befehle

    # 🎜 🎜#
  • Starten: 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{}
Hot neu starten: nginx -s reload#🎜 🎜 #

Schließen: nginx -s stop

#🎜🎜#Testsyntax: nginx - t#🎜🎜##🎜🎜##🎜🎜#gizp-Konfiguration: #🎜🎜##🎜🎜##🎜🎜##🎜🎜#gzip-bezogene Konfiguration kann platziert werden Wenn es auf der Ebene http{} oder server{} oder location{} wiederholte Einstellungen auf verschiedenen Ebenen gibt, ist die Priorität location{} > server{} > http{}#🎜🎜##🎜🎜#1 #🎜🎜## 🎜🎜#
gzip_static on;
#🎜🎜#3. Deaktivieren Sie die gzip-Komprimierung in ie6 (natürlich verwendet derzeit fast niemand ie6) #🎜🎜##🎜🎜#
gzip_buffers 16 8k;
#🎜🎜#4 9, normalerweise Dateigröße und CPU-Auslastung ausgleichen, 5 ist ein häufig verwendeter Wert, der natürlich von der tatsächlichen Maschine abhängt ) #🎜🎜 ##🎜🎜#rrreee#🎜🎜#6. Über den Proxy verknüpfte Clientdaten komprimieren #🎜🎜##🎜🎜#rrreee#🎜🎜#7. Die Standardversion des HTTP-Protokolls ist 1.1 und fordert 1.0 an wird nicht komprimiert. Wenn es auf 1.0 eingestellt ist, bedeutet dies, dass Versionen über http1.0 komprimiert werden. (Wenn Proxy_Pass für den Reverse-Proxy verwendet wird, verwendet die Kommunikation zwischen Nginx und dem Back-End-Upstream-Server standardmäßig das http/1.0-Protokoll.) #🎜🎜##🎜🎜#rrreee#🎜🎜#8, Proxy-Cache-Komprimierung und Original Versionsressourcen zur Vermeidung von Client-Fehlern aufgrund von Accept-Encoding, das gzip nicht unterstützt (gzip wird jetzt allgemein verwendet) #🎜🎜##🎜🎜#rrreee#🎜🎜#9. Komprimierter Dateityp (Text/ wird standardmäßig immer komprimiert) HTML-Typ , insbesondere application/javascript und text/javascript, werden am besten hinzugefügt. Wenn die Typen der Skript-Tags auf der Seite unterschiedlich sind, werden einige js-Dateien möglicherweise nicht komprimiert. Der Standardtyp ist application/javascript)#🎜🎜# #🎜🎜#rrreee #🎜🎜#10. Wenn Sie komprimiert (.gz) haben oder einen statischen Dateidienst bereitstellen, können Sie ihn aktivieren. Ist dies nicht der Fall, ist es am besten, die Funktion auf „Aus“ zu setzen, da dies zu zusätzlichem I/O-Overhead führt. Eine bessere Möglichkeit, damit umzugehen, besteht darin, es separat auf der Ebene location{} oder server{} zu behandeln. #🎜🎜##🎜🎜#rrreee#🎜🎜# 11. Der für die Speicherung des Komprimierungsergebnisdatenstroms verwendete Speicherplatz wird unten in 8-KB-Einheiten ausgedrückt, und der Speicher wird für das 16-fache der ursprünglichen Datengröße in 8-KB-Einheiten verwendet. Der Standardwert besteht darin, für die Speicherung des gzip-Komprimierungsergebnisses denselben Speicherplatz wie die Originaldaten zu verwenden. #🎜🎜##🎜🎜#rrreee

Das obige ist der detaillierte Inhalt vonNginx grundlegende Einführung in die gzip-Konfigurationsmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen