GNU/Linux >> Linux Esercitazione >  >> Debian

Come configurare Nginx con il modulo Google Pagespeed su Debian 11

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 alla corrente della tua 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

Per prima cosa, 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. Quindi, installa le dipendenze dei pacchetti di base per la compilazione dei programmi usando apt comando qui sotto.

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 build per la compilazione del modulo Nginx.

sudo apt build-dep nginx -y

Verifica 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 sul nostro computer è '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. Quindi, crea una nuova variabile di ambiente temporanea per la tua versione di Nginx usando il comando seguente.

export NG_VER=1.18.0

Scarica Nginx e codice sorgente Pagespeed

In questo passaggio, scaricherai il codice sorgente 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 di 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 di Nginx usandolo ed estrarlo.

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

3. Quindi, 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. Passa a 'incubator-pagespeed-ngx ' e passa al ramo stabile 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 di ottimizzazione della pagina (PSOL). Questa libreria è richiesta per il modulo Nginx Pagespeed.

cat PSOL_BINARY_URL

Vedrai un output simile come 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 a 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. Cambia la directory di lavoro nella directory del progetto Nginx.

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

2. Eseguire il comando seguente per configurare la compilazione del modulo Nginx. Questo comando controlla anche i tuoi 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. Quindi, compila il modulo Nginx Pagespeed usando il seguente comando.

make modules

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

4. Al termine del processo di compilazione, il modulo Pagespeed è disponibile come 'objs/ngx_pagespeed.so '. Controlla il modulo usando 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 farlo, 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 del modulo Nginx predefinita '/usr/share/nginx/modules '.

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

2. Crea 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 di collegamento simbolico 'ngx-pagespeed.conf ' nella 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' su '/etc/nginx ' directory.

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. Quindi, crea una nuova directory per memorizzare la cache di Nginx Pagespeed e assicurati che la directory sia scrivibile da Nginx 'www-data ' utente.

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 server).

Aggiunta del modulo Nginx Pagespeed al tuo host virtuale

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

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

nano /etc/nginx/sites-available/default

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

server {

  .....
  ....

  include /etc/nginx/pagespeed.conf;
}

salva la configurazione ed esci.

2. Verifica la tua configurazione 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 Nginx Pagespeed

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 dell'intestazione aggiuntiva 'X-Page-Speed ' significa 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 tasto destro sulla pagina, quindi seleziona 'Ispeziona menu '.

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'installazione corrente di Nginx. Devi solo includere la configurazione 'pagespeed.conf' nella configurazione del tuo host virtuale.


Debian
  1. Come installare Nginx con Google PageSpeed ​​su Ubuntu 20.04

  2. Come costruire nginx con il modulo Google PageSpeed ​​su Debian 8 (Jessie)

  3. Come installare Ghost su Debian con Nginx

  4. Come installare DokuWiki su Debian Wheezy con Nginx

  5. Come configurare Nginx con supporto HTTP/2 su Debian 9

Come installare Nginx Google Pagespeed su Debian 11 Bullseye

Come installare phpMyAdmin con Nginx su Debian 11

Come installare il modulo Nginx PageSpeed ​​su Debian 11

Come installare Nginx con PHP-FPM su Debian 11

Come installare Nginx con il modulo Google PageSpeed ​​su Ubuntu 20.04 LTS

Come configurare un firewall con UFW su Debian 11