Ricerca nel sito web

Come configurare Nginx con Google Pagespeed Module su Debian 11


Questo tutorial esiste per queste versioni del sistema operativo

  • Debian 11 (Bullseye)
  • Debian 7 (Wheezy)

Su questa pagina

  1. Prerequisiti
  2. Installazione delle dipendenze dei pacchetti
  3. Controllo della versione corrente di Nginx
  4. Scarica il codice sorgente di Nginx e Pagespeed
  5. Compilazione del modulo Nginx Pagespeed
  6. Aggiunta del modulo Pagespeed all'attuale installazione di Nginx
  7. Aggiunta del modulo Nginx Pagespeed sul tuo host virtuale
  8. Verifica del modulo PageSpeed di Nginx
  9. Conclusione

Google Pagespeed Module è un modulo open source per l'ottimizzazione dei tuoi siti Web sotto il server Web Nginx e Apache. Il modulo Pagespeed è un modulo a livello di server installato insieme al server web Nginx e Apache.

Il modulo Pagespeed migliora le prestazioni e la velocità del tuo sito web ottimizzando i file statici sui tuoi siti web. Il modulo Pagespeed ottimizza le immagini sui tuoi siti Web, minimizza i file statici come HTML, CSS e JavaScript e ottimizza la memorizzazione nella cache dei file.

In questo tutorial, ti mostreremo come costruire il modulo Nginx Pagespeed sull'ultimo Debian 11 Bullseye. Questa guida può essere applicata all'attuale installazione di Nginx perché hai appena creato il modulo Nginx.

Prerequisiti

Prima di iniziare, assicurati di avere i seguenti requisiti.

  • Sistema operativo: Debian 11 Bullseye
  • Privilegi di root

Ora iniziamo.

Installazione delle dipendenze dei pacchetti

Innanzitutto, installerai le dipendenze dei pacchetti per la compilazione del modulo Nginx.

1. Esegui il comando apt di seguito per aggiornare i repository correnti sul tuo sistema.

sudo apt update

2. Successivamente, installa le dipendenze dei pacchetti di base per la compilazione dei programmi utilizzando il comando apt di seguito.

sudo apt install curl dpkg-dev build-essential zlib1g-dev git libpcre3 git libpcre3-dev unzip uuid-dev -y

3. Successivamente, installa le dipendenze di compilazione per la compilazione del modulo Nginx.

sudo apt build-dep nginx -y

Controllo della versione corrente di Nginx

Per creare un modulo Nginx Pagespeed personalizzato, assicurati che il tuo attuale server web Nginx mantenga la stessa versione del codice sorgente Nginx che utilizzerai per creare il modulo Nginx.

1. Esegui il comando seguente per verificare la versione di Nginx.

nginx -v

Per questo esempio, la versione corrente di Nginx installata sulla nostra macchina è 1.18.0. Di seguito è riportato l'output simile che vedrai.

nginx version: nginx/1.18.0

Facoltativamente, se non hai il pacchetto Nginx sul tuo sistema, installalo dal repository Debian ufficiale usando il comando apt qui sotto.

sudo apt install nginx -y

2. Successivamente, crea una nuova variabile di ambiente temporanea per la tua versione di Nginx utilizzando il comando seguente.

export NG_VER=1.18.0

Scarica il codice sorgente di Nginx e Pagespeed

In questo passaggio, scaricherai il codice sorgente di Nginx e il modulo Pagespeed sul tuo server. Questo codice sorgente Nginx avrà la stessa versione del tuo attuale pacchetto Nginx.

1. Crea una nuova directory del progetto /usr/src/nginx ed entraci.

mkdir -p /usr/src/nginx; cd /usr/src/nginx

2. Ora esegui il seguente comando per scaricare il codice sorgente Nginx usando ed estrarlo.

wget http://nginx.org/download/nginx-$NG_VER.tar.gz
tar -xzvf nginx-$NG_VER.tar.gz

3. Successivamente, clona il modulo Nginx Pagespeed nella directory corrente e, al termine del processo, vedrai una nuova directory incubator-pagespeed-ngx.

git clone https://github.com/apache/incubator-pagespeed-ngx.git

4. Spostati nella directory incubator-pagespeed-ngx e passa al ramo stable del modulo Nginx Pagespeed.

cd incubator-pagespeed-ngx/
git checkout latest-stable

5. Controlla il file PSOL_BINARY_URL per ottenere il link per il download della Libreria per l'ottimizzazione delle pagine (PSOL). Questa libreria è necessaria per il modulo Nginx Pagespeed.

cat PSOL_BINARY_URL

Vedrai un output simile a quello di seguito. La variabile $BIT_SIZE_NAME è l'architettura del tuo server.

wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-$BIT_SIZE_NAME.tar.gz

6. Ora crea una nuova variabile di ambiente temporanea BIT_SIZE_NAME con il valore dell'architettura del tuo server. L'esempio seguente utilizza l'architettura del server x64 o 64 bit.

export BIT_SIZE_NAME=x64

7. Ora scarica il codice sorgente PSOL ed estrailo.

wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-$BIT_SIZE_NAME.tar.gz
tar -xzvf 1.13.35.2-$BIT_SIZE_NAME.tar.gz

Ora sei pronto per creare il modulo Nginx Pagespeed.

Compilazione del modulo Nginx Pagespeed

In questo passaggio, compilerai il modulo Nginx Pagespeed. Alla fine, otterrai il modulo Nginx con il formato .so che puoi applicare al tuo attuale server web Nginx.

1. Modificare la directory di lavoro nella directory del progetto Nginx.

cd /usr/src/nginx/nginx-$NG_VER

2. Eseguire il seguente comando per configurare la compilazione del modulo Nginx. Questo comando controlla anche i requisiti di sistema, assicurati di non avere errori.

./configure --with-compat --add-dynamic-module=../incubator-pagespeed-ngx

Di seguito è riportato l'output che dovresti ottenere.

Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

3. Successivamente, compila il modulo Nginx Pagespeed utilizzando il seguente comando.

make modules

Questo comando richiederà del tempo, a seconda della CPU e della memoria del tuo sistema.

4. Al termine del processo di compilazione, il modulo Pagespeed è disponibile come objs/ngx_pagespeed.so. Controllare il modulo utilizzando il seguente comando.

ls objs/ngx_pagespeed.so

Dovresti ottenere il modulo Nginx Pagespeed ngx_pagespeed.so come di seguito.

-rwxr-xr-x 1 root root 19M Dec  8 21:44 objs/ngx_pagespeed.so

Aggiunta del modulo PageSpeed all'installazione corrente di Nginx

In questo passaggio, implementerai il modulo Nginx Pagespeed nella tua attuale installazione di Nginx. Per fare ciò, copia il modulo Pagespeed ngx_pagespeed.so nella directory del modulo Nginx e aggiungi una nuova configurazione per abilitarlo.

1. Copia il modulo ngx_pagespeed.so nella directory predefinita del modulo Nginx /usr/share/nginx/modules.

cp /usr/src/nginx/nginx-$NG_VER/objs/ngx_pagespeed.so /usr/share/nginx/modules

2. Creare un nuovo file di configurazione per abilitare il modulo Pagespeedd.

nano /usr/share/nginx/modules-available/ngx-pagespeed.conf

Copia e incolla la seguente configurazione.

load_module modules/ngx_pagespeed.so;

Salva la configurazione ed esci.

3. Attiva il modulo Pagespeed creando una configurazione del collegamento simbolico ngx-pagespeed.conf alla directory /etc/nginx/modules-enabled/.

ln -s /usr/share/nginx/modules-available/ngx-pagespeed.conf /etc/nginx/modules-enabled/70-ngx-pagespeed.conf

4. Quindi, crea una nuova configurazione pagespeed.conf nella directory /etc/nginx.

nano /etc/nginx/pagespeed.conf

Copia e incolla la seguente configurazione.

pagespeed on;

# Needs to exist and be writable by nginx.  Use tmpfs for best performance.
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 ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }

Salva la configurazione ed esci.

5. Successivamente, crea una nuova directory per l'archiviazione della cache Nginx Pagespeed e assicurati che la directory sia scrivibile dall'utente Nginx www-data.

mkdir -p /var/ngx_pagespeed_cache
chown www-data:www-data /var/ngx_pagespeed_cache

Ora il modulo Nginx Pagespeed viene aggiunto alla tua attuale installazione di Nginx. Vai al passaggio successivo per abilitarlo sui tuoi host virtuali (blocchi del server).

Aggiunta del modulo Nginx Pagespeed sul tuo host virtuale

Per abilitare il modulo Pagespeed sul tuo host virtuale, aggiungi la configurazione pagespeed.conf al file di configurazione del tuo host virtuale utilizzando l'opzione include.

1. Per questo esempio, aggiungi abilita il modulo Pagespeed all'host virtuale predefinito. Modifica la configurazione /etc/nginx/sites-available/default utilizzando nano editor.

nano /etc/nginx/sites-available/default

Aggiungere la configurazione include /etc/nginx/pagespeed.conf; all'interno della sezione server {...} come di seguito.

server {

  .....
  ....

  include /etc/nginx/pagespeed.conf;
}

salvare la configurazione ed uscire.

2. Verifica la configurazione di Nginx e assicurati di non ricevere errori. Successivamente, riavvia il servizio Nginx per applicare una nuova configurazione.

nginx -t
sudo systemctl restart nginx

Verifica del modulo PageSpeed di Nginx

Per verificare l'installazione e l'implementazione del modulo Nginx Pagespeed, puoi utilizzare il comando curl per ottenere le intestazioni HTTP del tuo server web Nginx o utilizzare l'elemento Inspect sul tuo browser web.

1. Esegui il comando curl di seguito per ottenere le intestazioni HTTP del tuo server web Nginx.

curl -I https://domain.com/

Ora dovresti ottenere l'output come di seguito. La sezione di intestazione aggiuntiva X-Page-Speed indica che il modulo Nginx Pagespeed è abilitato.

HTTP/1.1 200 OK
Server: nginx/1.18.0
Content-Type: text/html
Connection: keep-alive
Date: Wed, 01 Dec 2021 22:02:52 GMT
X-Page-Speed: 1.13.35.2-0
Cache-Control: max-age=0, no-cache

2. Per controllare dal tuo browser web, visita il tuo nome di dominio e fai clic con il pulsante destro del mouse sulla pagina, quindi seleziona il menu Ispeziona.

Ricarica di nuovo la tua pagina web e vedrai le intestazioni HTTP dettagliate come di seguito.

Conclusione

Congratulazioni! Hai imparato come compilare il modulo Nginx Pagespeed e implementarlo nell'attuale installazione di Nginx. Devi solo includere la configurazione pagespeed.conf nella configurazione del tuo host virtuale.