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
Plusieurs commandes courantes
Démarrage : 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
🎜🎜🎜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;
gzip_buffers 16 8k;
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. 🎜🎜rrreeeCe 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!