![10 cose da fare dopo aver installato Ubuntu 19.04](/f/e7f2d70ceb7cdfbba6da2cb989238635.jpg?width=100&height=100)
Nel nostro ultimo articolo, abbiamo mostrato come accelerare Prestazioni Nginx con Ngx_Pagespeed su CentOS 7. In questo tutorial, spiegheremo come installare Nginx con ngx_pagespeed su sistemi Debian e Ubuntu per migliorare le prestazioni dei siti Web Nginx.
Nginx [engine x] è un popolare server HTTP gratuito e open source che alimenta molti siti sul Web: ben noto per le sue alte prestazioni e stabilità. Funziona anche come proxy inverso, posta generica e server proxy TCP/UDP e può anche essere distribuito come bilanciatore del carico.
Ngx_pagespeed è un modulo Nginx gratuito e open source destinato a migliorare la velocità dei siti e a ridurre il tempo di caricamento della pagina; riduce drasticamente il tempo necessario agli utenti per visualizzare e interagire con i contenuti del tuo sito.
1. Installare Nginx insieme a ngx_pagespeed dal sorgente richiesto i seguenti pacchetti da installare sul sistema.
$ sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip.
2. Quindi, scarica i file sorgente dell'ultima versione di Nginx (1.13.2 al momento della stesura di questo documento) utilizzando il comando wget ed estrarre i file come mostrato di seguito.
$ mkdir -p ~/make_nginx. $ cd ~/make_nginx. $ wget -c https://nginx.org/download/nginx-1.13.2.tar.gz. $ tar -xzvf nginx-1.13.2.tar.gz.
3. Quindi, prendi il ngx_pagespeed file sorgente e decomprimi il file compresso in questo modo.
$ wget -c https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip. $ unzip v1.12.34.2-stable.zip.
4. Quindi spostati nel decompresso ngx_pagespeed directory e scaricare le librerie di ottimizzazione PageSpeed per compilare Nginx come segue.
$ cd ngx_pagespeed-1.12.34.2-stable/ $ wget -c https://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz. $ tar -xvzf 1.12.34.2-x64.tar.gz.
5. Prossima mossa in nginx-1.13.2 directory e configurare il sorgente Nginx utilizzando i seguenti comandi.
$ cd ~/make_nginx/nginx-1.13.2. $ ./configure --add-module=$HOME/make_nginx/ngx_pagespeed-1.12.34.2-stable/ ${PS_NGX_EXTRA_FLAGS}
6. Quindi, compila e installa Nginx come segue.
$ fare. $ sudo make install.
7. Al termine del processo di installazione, eseguire i comandi seguenti per creare i collegamenti simbolici necessari per Nginx.
$ sudo ln -s /usr/local/nginx/conf/ /etc/nginx. $ sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx.
8. Qui dovrai creare manualmente il file unitario Nginx poiché systemd è il sistema init sulle versioni più recenti del sistema Debian e Ubuntu
Per prima cosa, crea il file /lib/systemd/system/nginx.service.
$ sudo vi /lib/systemd/system/nginx.service.
Quindi scarica il File di servizio NGINX systemd incollare la configurazione del file dell'unità nel file.
[Unità] Description=Il server HTTP e reverse proxy di NGINX. Dopo=syslog.target network.target remote-fs.target nss-lookup.target [Servizio] Tipo = biforcazione. PIDFile=/var/run/nginx.pid. ExecStartPre=/usr/sbin/nginx -t. ExecStart=/usr/sbin/nginx. ExecReload=/bin/kill -s HUP $MAINPID. ExecStop=/bin/kill -s QUIT $MAINPID. PrivateTmp=true [Installa] WantedBy=multiutente.target.
Salva il file e chiudilo.
9. Ora, inizia nginx service per il momento e abilitarlo per l'avvio all'avvio del sistema utilizzando i comandi seguenti.
$ sudo systemctl start nginx. $ sudo systemctl abilita nginx.
Importante: Dopo aver avviato il servizio Nginx, potresti vedere un errore come mostrato nella schermata qui sotto.
systemd[1]: nginx.service: file PID /run/nginx.pid non leggibile (ancora?) dopo l'avvio: nessun file o directory di questo tipo
Per risolverlo, apri la configurazione di Nginx /etc/nginx/nginx.conf file e aggiungere la riga seguente.
#pid log/nginx.pid; a. pid /run/nginx.pid;
Infine riavvia nuovamente il servizio nginx.
$ sudo systemctl daemon-reload. $ sudo systemctl start nginx. $ sudo systemctl status nginx.
10. Ora che Nginx è installato e in esecuzione sul tuo sistema, devi abilitare il modulo Ngx_pagespeed. Per prima cosa crea una directory in cui il modulo memorizzerà nella cache i file per il tuo sito Web e imposta le autorizzazioni appropriate su questa directory come segue.
$ sudo mkdir -p /var/ngx_pagespeed_cache. $ sudo chown -R nessuno: nogroup /var/ngx_pagespeed_cache.
11. Per abilitare il modulo Ngx_pagespeed, apri il file di configurazione di Nginx.
$ sudo vi /etc/nginx/nginx.conf.
Aggiungi le seguenti righe di configurazione Ngx_pagespeed all'interno del blocco server.
# Impostazioni principali di Pagespeed pagespeed on; pagespeed FileCachePath /var/ngx_pagespeed_cache; # Assicurati che le richieste per le risorse ottimizzate per la velocità della pagina vadano alla velocità della pagina. # gestore e non vengono impostate intestazioni estranee. location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; } posizione ~ "^/ngx_pagespeed_static/" { } posizione ~ "^/ngx_pagespeed_beacon" { }
Nota: Se ne hai implementati qualcuno nginx host virtuali sul server, aggiungi le suddette direttive pagespeed a ciascun blocco di server per abilitare Ngx_pagespeed su ciascun sito.
Quello che segue è un esempio funzionante del file di configurazione di Nginx con Ngx_pagespeed abilitato nell'host virtuale predefinito.
Configurazione di Nginx con Ngx_pagespeed
#utente nessuno; processo_lavoratore 1; #error_log logs/error.log; #error_log logs/error.log avviso; #error_log logs/error.log info; pid /run/nginx.pid;eventi { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$indir_remoto - $utente_remoto [$ora_locale] "$richiesta" ' # '$stato $corpo_byte_inviati "$http_referer" ' # '"$agente_utente_http" "$http_x_inoltrato_per"'; #access_log logs/access.log main; inviare file su; #tcp_nopush su; #keepalive_timeout 0; keepalive_timeout 65; #gzip su; server { ascolta 80; nome_server host locale; #charset koi8-r; #access_log logs/host.access.log main;# Impostazioni principali di Pagespeed pagespeed on; pagespeed FileCachePath /var/ngx_pagespeed_cache; # Assicurati che le richieste per le risorse ottimizzate per la velocità di pagina vengano inviate al gestore # di pagespeed e non vengano impostate intestazioni estranee. location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; } posizione ~ "^/ngx_pagespeed_static/" { } posizione ~ "^/ngx_pagespeed_beacon" { }posizione / { radice html; indice index.html index.htm; } #error_page 404 /404.html; # reindirizza le pagine di errore del server alla pagina statica /50x.html # error_page 500 502 503 504 /50x.html; posizione = /50x.html { radice html; } # proxy gli script PHP ad Apache in ascolto su 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # passa gli script PHP al server FastCGI in ascolto su 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # nega l'accesso ai file .htaccess, se la radice del documento di Apache # concorda con quella di nginx # #location ~ /\.ht { # nega tutto; #} } # un altro host virtuale che utilizza una combinazione di configurazione basata su IP, nome e porta # #server { # ascolta 8000; # ascolta un nome: 8080; # nome_server un nome alias un altro.alias; # posizione / { # radice html; # indice index.html index.htm; # } #} # Server HTTPS # #server { # ascolta 443 ssl; # nome_server host locale; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache condiviso: SSL: 1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # posizione / { # radice html; # indice index.html index.htm; # } #} }
Salva e chiudi il file.
12. Quindi controlla se la sintassi del file di configurazione di Nginx è priva di errori eseguendo il comando seguente, se è corretto, vedrai l'output di seguito:
$ sudo nginx -t nginx: la sintassi del file di configurazione /usr/local/nginx/conf/nginx.conf è ok. nginx: il test del file di configurazione /usr/local/nginx/conf/nginx.conf ha esito positivo.
13. Successivamente riavviare il server Nginx per effettuare le modifiche recenti.
$ sudo systemctl riavvia nginx.
14. Ora verifica se Ngx-pagespeed ora funziona insieme a Nginx utilizzando il comando cURL di seguito.
$ curl -I -p http://localhost.
Se non sei riuscito a vedere l'intestazione sopra, torna al passaggio 10 e segui attentamente le istruzioni per abilitare Ngx-pagespeed con i passaggi successivi.
Repository Github Ngx-pagespeed: https://github.com/pagespeed/ngx_pagespeed
Se vuoi proteggere il server web Nginx, ti suggeriamo di leggere questo utile tutorial: La guida definitiva per proteggere, rafforzare e migliorare le prestazioni di Nginx.
Questo è tutto! In questo tutorial, abbiamo spiegato come installare Nginx con ngx_pagespeed su Debian e Ubuntu. Se hai domande, inviaci utilizzando il nostro modulo di commenti qui sotto.