GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Nginx con Google PageSpeed ​​su Ubuntu 20.04

Nginx è un server Web gratuito e open source che alimenta molti siti su Internet. Può essere utilizzato come proxy inverso e bilanciamento del carico. È noto per le sue alte prestazioni e stabilità.

ngx_pagespeed è un modulo Nginx open source che può essere utilizzato per ottimizzare le prestazioni del tuo sito web. È sviluppato da Google e riduce il tempo di caricamento della pagina e velocizza il tempo di risposta del sito web.

In questo tutorial, ti mostreremo come compilare ngx_pagespeed come modulo dinamico con Nginx sul server Ubuntu 20.04.

Prerequisiti

  • Un server che esegue Ubuntu 20.04.
  • Un nome di dominio valido puntato con l'IP del tuo server. In questo tutorial utilizzeremo il dominio example.com.
  • Una password di root è configurata sul server.

Per iniziare

Prima di iniziare, dovrai aggiornare i pacchetti di sistema all'ultima versione. Puoi aggiornarli eseguendo il seguente comando:

apt-get update -y

Una volta installati tutti i pacchetti, dovrai installare alcune dipendenze richieste sul tuo sistema. Puoi installarli tutti con il seguente comando:

apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 git libpcre3-dev unzip -y

Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.

Installa il server web Nginx

Successivamente, dovrai installare il server web Nginx sul tuo sistema. Puoi installarlo con il seguente comando:

apt-get install nginx -y

Una volta completata l'installazione, puoi verificare la versione installata di Nginx con il seguente comando:

nginx -v

Dovresti vedere la versione di Nginx nel seguente output:

nginx version: nginx/1.18.0 (Ubuntu)

Una volta terminato, puoi procedere al passaggio successivo.

Scarica e compila ngx_pagespeed

Prima di scaricare e compilare ngx_pagespeed. Dovrai scaricare il sorgente Nginx nel tuo sistema. Puoi scaricare il pacchetto sorgente Nginx con il seguente comando:

Nota:assicurati che la versione scaricata di Nginx corrisponda alla versione installata di Nginx. Qui, la versione installata di Nginx è 1.18.0. Quindi dovrai scaricare il sorgente Nginx della versione 1.18.0 dal sito Web di Nginx.

wget http://nginx.org/download/nginx-1.18.0.tar.gz

Una volta completato il download, estrai il file scaricato con il seguente comando:

tar -xvzf nginx-1.18.0.tar.gz

Quindi, scarica il sorgente ngx_pagespeed dal repository Git con il seguente comando:

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

Una volta completato il download, cambia la directory nella directory scaricata e controlla la versione stabile con il seguente comando:

cd incubator-pagespeed-ngx
git checkout latest-stable

Dovresti ottenere il seguente output:

Note: switching to 'latest-stable'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c 

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 11ba8ea54 Update PSOL_BINARY_URL

Dall'output sopra, cat il file "PSOL_BINARY_URL" per vedere l'URL di download di PSOL:

cat PSOL_BINARY_URL

Dovresti ottenere il seguente output:

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

Ora, esegui il seguente comando per scaricare PSOL utilizzando l'URL sopra:

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

Quindi, estrai il file scaricato con il seguente comando:

tar -xvzf 1.13.35.2-x64.tar.gz

Quindi, cambia la directory nel sorgente Nginx e installa tutte le dipendenze richieste con il seguente comando:

cd /root/nginx-1.18.0
apt-get build-dep nginx
apt-get install uuid-dev

Quindi, compila il modulo ngx_pagespeed con il seguente comando:

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

Dovresti ottenere il seguente output:

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"

Quindi, esegui il seguente comando per creare il modulo Pagespeed:

make modules

Quindi, copia il modulo generato nella directory dei moduli Nginx:

cp objs/ngx_pagespeed.so /usr/share/nginx/modules/

A questo punto, il modulo ngx_pagespeed è compilato nel tuo sistema. Ora puoi procedere al passaggio successivo.

Configura Nginx per utilizzare il modulo ngx_pagespeed

Successivamente, dovrai configurare Nginx per utilizzare il modulo ngx_pagespeed. Innanzitutto, modifica il file di configurazione principale di Nginx e definisci il percorso del modulo ngx_pagespeed:

nano /etc/nginx/nginx.conf

Aggiungi la seguente riga all'inizio del file:

load_module modules/ngx_pagespeed.so;

Salva e chiudi il file quando hai finito.

Quindi, crea una directory per le cache di pagespeed con il seguente comando:

mkdir -p /var/ngx_pagespeed_cache

Imposta la proprietà corretta usando il seguente comando:

chown -R www-data:www-data /var/ngx_pagespeed_cache

Quindi, modifica il file di configurazione dell'host virtuale predefinito di Nginx e aggiungi la configurazione della velocità di pagina:

nano /etc/nginx/sites-available/default

Sostituite tutte le righe con le seguenti:

server {
     listen 80;
     server_name example.com; 

     root /var/www/html;
     index index.nginx-debian.html index.html index.htm;

     access_log   /var/log/nginx/access.log;
     error_log    /var/log/nginx/error.log;

     location / {
         try_files $uri $uri/ =404;
     }

     pagespeed on;
     pagespeed FileCachePath "/var/ngx_pagespeed_cache/";
     pagespeed RewriteLevel OptimizeForBandwidth;

     location ~ ".pagespeed.([a-z].)?[a-z]{2}.[^.]{10}.[^.]+" {
         add_header "" "";
     }

     location ~ "^/pagespeed_static/" { }
     location ~ "^/ngx_pagespeed_beacon$" { }
pagespeed RewriteLevel CoreFilters;

 }

Salva e chiudi il file quando hai finito. Quindi, verifica Nginx per eventuali errori di sintassi utilizzando il comando seguente:

nginx -t

Dovresti ottenere il seguente output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Infine, riavvia il servizio Nginx per applicare le modifiche:

systemctl restart nginx

Puoi anche verificare lo stato del servizio Nginx usando il seguente comando:

systemctl status nginx

Dovresti ottenere il seguente output:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-11-26 05:32:23 UTC; 20s ago
       Docs: man:nginx(8)
    Process: 363 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 385 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 386 (nginx)
      Tasks: 3 (limit: 2353)
     Memory: 14.4M
     CGroup: /system.slice/nginx.service
             ??386 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??387 nginx: worker process
             ??388 nginx: worker process

Nov 26 05:32:23 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 26 05:32:23 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

Una volta terminato, puoi procedere al passaggio successivo.

Verifica il modulo ngx_pagespeed

A questo punto, Nginx è configurato con il supporto ngx_pagespeed. Ora è il momento di testarlo se è installato o meno.

Per testare la velocità della pagina, esegui il seguente comando secercando il tuo nome di dominio:

curl -I -p http://example.com

Se tutto va bene, dovresti ottenere il seguente output:

HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Content-Type: text/html
Connection: keep-alive
Vary: Accept-Encoding
Date: Wed, 25 Nov 2020 11:58:56 GMT
X-Page-Speed: 1.13.35.2-0
Cache-Control: max-age=0, no-cache

Nell'output sopra, X-Page-Speed:1.13.35.2-0 significa che PageSpeed ​​è attivo e sta ottimizzando il tuo sito web.

Conclusione

Congratulazioni! hai installato correttamente ngx_pagespeed con Nginx sul server Ubuntu 20.04. Spero che questo modulo aumenterà le prestazioni del tuo server web Nginx e accelererà il sito web. Sentiti libero di chiedermi se hai domande.


Ubuntu
  1. Come installare WordPress con Nginx su Ubuntu 18.04

  2. Come installare phpMyAdmin con Nginx su Ubuntu 18.04

  3. Come installare MediaWiki con Nginx su Ubuntu 16.04

  4. Come installare Grav CMS con Nginx su Ubuntu 16.04

  5. Come installare SuiteCRM con Nginx su Ubuntu 16.04

Come installare OSClass con Nginx su Ubuntu 20.04

Come installare Nginx con ModSecurity su Ubuntu 15.04

Come installare Nextcloud 13 su Ubuntu 16.04 con Nginx

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

Come installare Bludit CMS con NGINX su Ubuntu 20.04

Come installare Talkyard Forum con Nginx su Ubuntu 18.04