Kennt jemand einen Weg, um Nginx (oder eine andere Methode) zu bekommen, um die HTML-Ausgabe im laufenden Betrieb zu minimieren? Es scheint mir unkompliziert zu sein und kann ein paar Kilobyte abschneiden und dabei helfen, die Site zu beschleunigen.
Kennt jemand einen Weg, um Nginx (oder eine andere Methode) zu bekommen, um die HTML-Ausgabe im laufenden Betrieb zu minimieren? Es scheint mir unkompliziert zu sein und kann ein paar Kilobyte abschneiden und dabei helfen, die Site zu beschleunigen.
Antworten:
Google Pagespeed für Nginx ist für die Minimierung und eine Reihe anderer Aufgaben zuständig . Als ich das Benchmarking durchführte, machte es jedoch nicht genug aus, um mich damit zu beschäftigen, da meine Website bereits gut optimiert war. Für Websites, die noch nicht optimiert wurden, würde dies wahrscheinlich einen signifikanten Unterschied bedeuten.
Es gibt eine Anleitung, wie man Nginx / Pagespeed Arbeit bekommen hier . Sie müssen es aus dem Quellcode erstellen. Ich neige dazu, die verlinkte Website auf dem neuesten Stand zu halten, wenn ich diesen Bereich berühre, sodass er möglicherweise aktueller ist als diese Antwort unten.
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
Meine Empfehlung: Minify vergessen und das gzip Modul benutzen . Es wird besser funktionieren und das gleiche Ziel erreichen. Aber natürlich können Sie es tun. Speziell für dieses Thema gibt es ein Drittanbieter-Modul namens strip .
Beispiel für eine gzip-Konfiguration:
# 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
wie text/html
.