Maison  >  Article  >  Opération et maintenance  >  Introduction de base de Nginx à la méthode de configuration gzip

Introduction de base de Nginx à la méthode de configuration gzip

PHPz
PHPzavant
2023-06-03 09:52:434141parcourir

Avant-propos

gzip (gnu-zip) est une technologie de compression. Après la compression gzip, la taille de la page peut être réduite à 30 % ou même plus petite que la taille d'origine. De cette façon, les utilisateurs parcourront la page beaucoup plus rapidement. La page compressée gzip doit être prise en charge à la fois par le navigateur et par le serveur. Il s'agit en fait d'une compression côté serveur. Après avoir été transmise au navigateur, le navigateur la décompresse et l'analyse. Nous n'avons pas à nous soucier du navigateur, car la plupart des navigateurs actuels prennent en charge l'analyse des pages gzip.

Qu'il s'agisse de front-end ou de back-end, nginx est souvent utilisé lors du déploiement de projets, et les petits projets utilisent souvent un proxy inverse ou quelque chose du genre. Aujourd'hui, je vais être simple et direct et parler de l'un des points : gzip. S'il y a des erreurs, veuillez me corriger.

Ubuntu, centos, linux, etc. sont couramment utilisés côté serveur. Si vous n'avez pas de serveur, vous pouvez y jouer localement.

Installation sur Mac

Vous pouvez l'installer directement avec Brew sous Mac. Si Brew n'est pas installé, vous pouvez d'abord l'installer

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

Configuration par défaut

Une fois l'installation terminée, vous verrez que la ligne de commande contient les informations suivantes, vous pouvez voir nginx Le chemin où se trouve .conf, c'est le fichier de configuration que nous recherchons. Il contient également des informations sur le port. Lors du démarrage de nginx, vous pouvez accéder directement à http://localhost:8080. Lorsque vous voyez la page illustrée ci-dessous, l'installation est réussie.

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

Introduction de base de Nginx à la méthode de configuration gzip

Plusieurs commandes courantes

  • Démarrage : 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{}

Redémarrer à chaud : nginx -s reload


Fermer : nginx -s stop🎜🎜🎜Test de la syntaxe : nginx -t🎜🎜 🎜 configuration gizp : 🎜🎜🎜🎜la configuration liée à gzip peut être placée au niveau http{} ou server{} ou location{} , si différent Il y a des paramètres répétés au niveau : emplacement{} > serveur{} > http{}🎜🎜1 Activez la compression gzip🎜🎜
gzip_static on;
🎜2. . Désactiver IE6 effectue la compression gzip (bien sûr, presque personne n'utilise IE6 maintenant)🎜🎜
gzip_buffers 16 8k;
🎜4. Niveau de compression (1 ~ 9, équilibrant généralement la taille du fichier et l'utilisation du processeur, 5 est une valeur courante, bien sûr liée à la valeur réelle. situation de la machine) 🎜🎜rrreee🎜5. Seuil de compression minimum (la valeur par défaut est de 20 octets) 🎜🎜rrreee🎜6. Compresser les données client liées via le proxy🎜🎜rrreee🎜7. La version par défaut du protocole http est 1.1, pour les requêtes 1.0. ne pas être compressé. S'il est défini sur 1.0, cela signifie que les versions supérieures à http1.0 seront compressées. (Si proxy_pass est utilisé pour le proxy inverse, la communication entre nginx et le serveur back-end en amont utilise le protocole http/1.0 par défaut.)🎜🎜rrreee🎜8 Le cache proxy compresse et les ressources de la version originale pour éviter que le client n'accepte. - L'encodage ne prend pas en charge gzip et des erreurs se produisent (gzip est généralement utilisé maintenant) 🎜🎜rrreee🎜9. Type de fichier compressé (la valeur par défaut est toujours de compresser le type texte/html, en particulier application/javascript et texte/javascript sont les meilleurs) De plus , si le type de balise de script de page est différent, certains fichiers js peuvent ne pas être compressés. Le type par défaut est application/javascript)🎜🎜rrreee🎜10. S'il existe des services de fichiers compressés (.gz) ou statiques, vous pouvez définir. à. Si ce n'est pas le cas, il est préférable de le désactiver car cela entraînerait une surcharge d'E/S supplémentaire. Une meilleure façon de le gérer est de le gérer séparément au niveau emplacement{} ou serveur{}. 🎜🎜rrreee🎜11. L'espace utilisé pour stocker le flux de données du résultat de la compression. Ce qui suit indique que l'unité est de 8 Ko et que la mémoire est appliquée pour 16 fois la taille des données d'origine en 8 Ko. La valeur par défaut consiste à appliquer la même taille d'espace mémoire que les données d'origine pour stocker le résultat de la compression gzip. 🎜🎜rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer