introduzione
Ngx-pagespeed è un modulo Nginx open source che accelera il tuo sito e riduce i tempi di caricamento della pagina. Lo fa riscrivendo le pagine Web per ridurre la latenza e la larghezza di banda. Ngx-pagespeed fornisce anche molti filtri di ottimizzazione che vengono utilizzati per ottimizzare vari file come css, html, png e jpg.
Prerequisiti
- Un'istanza Vultr appena distribuita che esegue CentOS 7.
- Un utente sudo .
Passaggio 1: aggiornare il sistema
Prima di installare eventuali pacchetti sull'istanza del server CentOS, si consiglia di aggiornare il sistema. Accedi usando l'utente sudo ed esegui i seguenti comandi per aggiornare il sistema.
sudo yum -y update
sudo reboot
Una volta riavviato il sistema, accedere nuovamente come utente sudo e continuare con i passaggi successivi.
Passaggio 2: scaricare le dipendenze
Per installare Nginx con ngx-pagespeed dobbiamo compilare Nginx dal sorgente. Per fare ciò è necessario scaricare alcuni software eseguendo il comando seguente.
sudo yum -y install gcc-c++ pcre-devel zlib-devel make unzip
Successivamente, dobbiamo scaricare il codice sorgente per Nginx e ngx-pagespeed. Al momento in cui scrivo, l'ultima versione stabile di è Nginx 1.12.0 e l'ultima versione di ngx-pagepeed è 1.12.34.2.
NPS_VERSION=1.12.34.2
NGINX_VERSION=1.12.0
wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
wget https://github.com/pagespeed/ngx_pagespeed/archive/v${NPS_VERSION}-beta.zip
Estrarre i pacchetti scaricati.
tar -xvzf nginx-${NGINX_VERSION}.tar.gz
unzip v${NPS_VERSION}-beta.zip
Passaggio 3: scaricare le librerie di ottimizzazione di PageSpeed
Le librerie di ottimizzazione PageSpeed (psol) sono necessarie per compilare Nginx. Scaricare ed estrarli nella directory dei sorgenti di ngx-pagepeed con i seguenti comandi.
cd ngx_pagespeed-${NPS_VERSION}-beta
psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz
[ -e scripts/format_binary_url.sh ] && psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL)
wget ${psol_url}
tar -xzvf $(basename ${psol_url})
cd ..
Il sorgente Nginx ora può essere compilato con il modulo pagepeed. Vai alla directory dei sorgenti di Nginx.
cd nginx-${NGINX_VERSION}
Configurare l'origine con il seguente comando.
./configure --add-module=$HOME/ngx_pagespeed-${NPS_VERSION}-beta --user=nobody --group=nobody --pid-path=/var/run/nginx.pid ${PS_NGX_EXTRA_FLAGS}
Una volta completata la configurazione, compila Nginx con il comando:
sudo make
Questo può richiedere diversi minuti. Dopodiché puoi procedere e installare il software con il comando:
sudo make install
Nginx è stato ora installato nella directory /usr/local/nginx. Per comodità, possiamo creare i seguenti link simbolici:
sudo ln -s /usr/local/nginx/conf/ /etc/nginx
sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
Passaggio 5: creare uno script di avvio
Per poter arrestare e avviare Nginx devi creare manualmente uno script di avvio. Un modello per questo è fornito da Nginx qui . Copia il contenuto del modello e inseriscilo nel /etc/init.d/nginxfile utilizzando un editor di testo come nano. Imposta anche le autorizzazioni giuste per il file.
sudo nano /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
Ora puoi avviarlo e quindi aggiungerlo ai runlevel predefiniti (quindi Nginx si avvia e si arresta insieme alla tua istanza) con il comando:
sudo service nginx start
sudo systemctl enable nginx
Passaggio 6: abilitare ngx_pagespeed
Per abilitare ngx-pagepeed, inizia creando una directory cache e assegnandone la proprietà a Nginx:
sudo mkdir -p /var/ngx_pagespeed_cache
sudo chown -R nobody:nobody /var/ngx_pagespeed_cache
Apri il /etc/nginx/nginx.conffile:
sudo nano /etc/nginx/nginx.conf
E aggiungi le seguenti righe all'interno del blocco server:
##
# Pagespeed main settings
pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
# Ensure requests for pagespeed optimized resources go to the pagespeed
# handler and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon" { }
Infine, riavvia Nginx per rendere effettive le modifiche:
sudo systemctl restart nginx
Passaggio 6: test
Per verificare se ngx-pagespeed è stato installato correttamente sul tuo server, esegui il seguente comando:
curl -I -p http://localhost| grep X-Page-Speed
L'outpout dovrebbe apparire così:
X-Page-Speed: 1.12.34.2-0
Ngx-pagespeed è ora installato sul tuo server. Se non ottieni questo risultato, assicurati di aver abilitato ngx-pagepeed come spiegato prima.