Quelqu'un connaît-il un moyen d'obtenir nginx (ou toute autre méthode) pour minimiser la sortie html à la volée? Cela me semble simple et peut réduire de quelques ko et accélérer le site.
Quelqu'un connaît-il un moyen d'obtenir nginx (ou toute autre méthode) pour minimiser la sortie html à la volée? Cela me semble simple et peut réduire de quelques ko et accélérer le site.
Réponses:
Google Pagespeed pour Nginx fait de la minification et beaucoup d'autres choses. Cependant, lorsque j'ai effectué un benchmark, cela n'a pas fait suffisamment de différence pour s'embêter, étant donné que mon site était déjà bien optimisé. Pour les sites qui ne sont pas déjà optimisés, cela ferait probablement une différence significative.
Il y a un tutoriel sur la façon de faire fonctionner Nginx / Pagespeed ici . Vous devez le construire à partir de la source. J'ai tendance à garder le site Web lié à jour, s'il m'arrive de toucher cette zone, il peut donc être plus à jour que cette réponse ci-dessous.
cd /home/ec2-user
mkdir nginx-build
cd nginx-build
service nginx stop
yum groupinstall "Development Tools"
yum install pcre-devel zlib-devel openssl-devel
wget http://nginx.org/download/nginx-1.9.11.tar.gz
wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz
wget https://github.com/openresty/headers-more-nginx-module/archive/v0.29.tar.gz
tar -xzf nginx-1.9.11.tar.gz
tar -xzf ngx_cache_purge-2.3.tar.gz
tar -xzf v0.29.tar.gz
tar -xzf 1.9.32.10.tar.gz # Google Pagespeed, optional
ngx_version=1.9.32.10
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${ngx_version}-beta.zip # Google Pagespeed, optional
cd ngx_pagespeed-release-1.9.32.10-beta # Google Pagespeed, optional
wget https://dl.google.com/dl/page-speed/psol/${ngx_version}.tar.gz # Google Pagespeed, optional
cd ../nginx-1.9.9
# Note that I have no idea what the next line does but it was in the official guide
PS_NGX_EXTRA_FLAGS="--with-cc=/opt/rh/devtoolset-2/root/usr/bin/gcc"
# Safe option, slower, lots of modules included
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_v2_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --add-module=/tmp/ngx_cache_purge-2.3 --add-module=/tmp/headers-more-nginx-module-0.29 --with-http_realip_module --add-modeule=../ngx_pagespeed-release-1.9.32.10-beta
make && make install
make clean (NB: optional)
service nginx start
Ma recommandation: oubliez minify et utilisez le module gzip . Cela fonctionnera mieux et atteindra le même objectif. Mais, bien sûr, vous pouvez le faire. Il existe un module tiers nommé strip , spécialement pour ce sujet.
Exemple de configuration gzip:
# Context: http, server, location
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/xml;
gzip_types
comme text/html
.