gzip /GNU Zip) è un software libero per la compressione dei dati di notevole interesse per migliorare la velocità e le prestazioni dei siti web forniti da un web server Linux. Le pagine vengono compresse prima di essere inviate all’utente, il cui browser poi le decomprimerà: questa operazione è generalmente più rapida che trasferire pagine non compresse.
Per chi ha un server Linux dotato di Plesk ecco i comandi da utilizzare per abilitare gzip su tutto il server, distinguo in 2 casi a seconda che sia utilizzato il web server Apache o Nginx. E’ necessario ovviamente un accesso da amministratore via SSH su terminale.
Apache
Verificare che sia presente il modulo deflate con il comando (su CentOS, su Debian o Ubuntu usare apachectl al posto di httpd):
httpd -M | grep deflate
se presente il terminale mostrerà una risposta del genere:
altrimenti da Plesk si può attivare comodamente dal pannello delle impostazioni:
ora se non presente bisogna creare il file deflate.conf (su CentOS, per Debian o Ubuntu tenere presente che al posto di httpd il servizio si chiama apache2, e il percorso per il file deflate.conf è /etc/apache2/mods-available/ ):
touch /etc/httpd/conf.d/deflate.conf
e modificarlo con l’editor VI (o con quello che preferite):
vi /etc/httpd/conf.d/deflate.conf
inserendo il seguente codice:
<IfModule mod_deflate.c> # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml # Remove browser bugs (only needed for really old browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent </IfModule>
salvare e uscire da VI (comando :wq );
Nel caso di Apache 2.4 occorre verificare che sia presente il modulo filter_module:
- su CentOS
grep -ir "mod_filter.so" /etc/httpd/conf.modules.d/00-base.conf
- su Debian o Ubuntu:
apachectl -M | grep filter
A questo punto riavviare il servizio:
service httpd restart
Nginx
Creare il file gzip.conf:
touch /etc/nginx/conf.d/gzip.conf
Aprire il file con VI (o un altro editor testuale):
vi /etc/nginx/conf.d/gzip.conf
e ora aggiungere la configurazione di gzip (qui un esempio, maggiori indicazioni si possono trovare sulla documentazione di nginx):
gzip on; gzip_disable "MSIE [1-6]\\.(?!.*SV1)"; gzip_proxied any; gzip_comp_level 5; gzip_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/rss+xml text/javascript image/x-icon image/bmp image/svg+xml; gzip_vary on;
ora verificare che sia tutto corretto:
nginx -t
e quindi riavviare il servizio:
service nginx reload
Ciao Simone, dunque se dal pannello delle impostazioni di Plesk con Apache seleziono il flag “deflate” non devo fare altro per attivarlo, giusto?
Grazie!
Ciao, allora sì se sei su Apache, comunque per verificare che Gzip sia attivo vai su: https://www.giftofspeed.com/gzip-test/
così ne hai la certezza.
Alcuni parametri utili li puoi trovare dentro la sottoscrizione del dominio su Plesk (si chiama anche “Abbonamento” a seconda della versione del pannello) su Impostazioni Apache & nginx, ad esempio abilitando la cache o i contenuti statici, io uso Nginx generalmente. Certo richiede un po’ di “tuning” ;)