Installez Nginx avec NGX_PageSpeed ​​(optimisation de la vitesse) sur Debian et Ubuntu

Installez Nginx avec NGX_PageSpeed ​​(optimisation de la vitesse) sur Debian et Ubuntu

Dans notre dernier article, nous avons montré comment accélérer les performances de Nginx avec Ngx_PageSpeed ​​sur CentOS 7. Dans ce didacticiel, nous expliquerons comment installer Nginx avec NGX_PAGEPEED sur le système Debian et Ubuntu pour améliorer les performances des sites Web Nginx.

Nginx [Le moteur X] est un serveur HTTP libre et open-open, populaire alimentant de nombreux sites sur le Web: bien connu pour ses performances hautes et stabilité. Il fonctionne également comme un proxy inversé, un courrier générique et un serveur proxy TCP / UDP, et peut en outre être déployé en tant qu'équilibreur de chargement.

Ngx_pagespeed est un module Nginx gratuit et open source destiné à améliorer la vitesse des sites ainsi qu'à réduire le temps de chargement des pages; Cela réduit considérablement le temps nécessaire aux utilisateurs pour afficher et interagir avec le contenu de votre site.

Lire suggérée: Installer mod_pagespeed pour améliorer les performances du serveur Apache

NGX_PAGEPEED Fonctionnalités:

  • Support HTTPS avec contrôle d'URL.
  • Optimisation d'image: décapage des métadonnées, redimensionnement dynamique, recompression.
  • CSS et minification JavaScript, concaténation, inclinaison et découverte.
  • Petite ressource enlin.
  • Représenter l'image et le chargement JavaScript.
  • Réécriture HTML.
  • Extension de la durée de vie du cache.
  • Permet de configurer plusieurs serveurs et bien d'autres.

Étape 1: Installation de Nginx à partir de la source

1. À installer Nginx avec ngx_pagespeed à partir de la source requise des packages suivants à installer sur le système.

$ sudo apt-get install build-essentiel zlib1g-dev libpcre3 libpcre3-dev unzip 
Installez la construction d'outils essentiels sur Ubuntu

2. Ensuite, téléchargez les fichiers source de la dernière version de Nginx (1.13.2 au moment de la rédaction de cet article) à l'aide de la commande wget et extraire les fichiers comme indiqué ci-dessous.

$ mkdir -p ~ / make_nginx $ cd ~ / make_nginx $ wget -c https: // nginx.org / download / nginx-1.13.2.le goudron.gz $ tar -xzvf nginx-1.13.2.le goudron.gz 
Télécharger le package Source Nginx

3. Ensuite, obtenez le ngx_pagespeed Fichiers source et dézippez le fichier compressé comme celui-ci.

$ wget -c https: // github.com / pagespeed / ngx_pagespeed / archive / v1.12.34.2-stable.zip $ unzip v1.12.34.2-stable.zipper 
Télécharger les fichiers source NGX_PageSpeed

4. Puis déplacer dans le dézipped ngx_pagespeed répertoire et téléchargez les bibliothèques d'optimisation PagesPeed pour compiler nginx comme suit.

$ cd ngx_pagespeed-1.12.34.2-stable / $ wget -c https: // dl.Google.com / dl / page-vitesse / psol / 1.12.34.2-X64.le goudron.gz $ tar -xvzf 1.12.34.2-X64.le goudron.gz 
Télécharger les bibliothèques PageSpeed

Étape 2: Configurer et compiler Nginx avec NGX_PageSpeed

5. Ensuite, montez dans le nginx-1.13.2 répertoire et configurez la source nginx à l'aide des commandes suivantes.

$ CD ~ / Make_nginx / nginx-1.13.2 $ ./ configure --add-module = $ home / make_nginx / ngx_pagespeed-1.12.34.2-stable / $ ps_ngx_extra_flags 
Configurer Nginx avec le module NGX_PageSpeed

6. Ensuite, compilez et installez Nginx comme suit.

$ make $ sudo faire l'installation 
Installer nginx avec ngx_pagespeed

7. Une fois le processus d'installation terminé, exécutez les commandes ci-dessous pour créer les liens symboliques nécessaires pour nginx.

$ sudo ln -s / usr / local / nginx / conf / / etc / nginx $ sudo ln -s / usr / local / nginx / sbin / nginx / usr / sbin / nginx 

Étape 3: Création d'un fichier unitaire Nginx pour systemd

8. Ici, vous devrez créer manuellement le fichier unitaire Nginx car SystemD est le système INIT sur les versions plus récentes du système Debian et Ubuntu

Fisrt, créez le fichier / lib / systemd / system / nginx.service.

$ sudo vi / lib / systemd / système / nginx.service 

Téléchargez ensuite le fichier de service Nginx Systemd Coller la configuration du fichier unitaire dans le fichier.

[Unité] Description = le serveur de proxy Nginx HTTP et inversé après = syslog.réseau cible.Target Remote-FS.cibler NSS-Lookup.Tible [Service] type = FORKING PIDFILE = / var / run / nginx.pid execstartpre = / usr / sbin / nginx -t execstart = / usr / sbin / nginx exeleload = / bin / kill -s Hup $ mainpid execstop = / bin / kill -s QUIT $ MainPid privateTMP = true [install] wantedBy = multi-° -utilisateur.cible 

Enregistrez le fichier et fermez-le.

9. Maintenant, commencez nginx Service pour le moment et lui permettre de démarrer au démarrage du système en utilisant les commandes ci-dessous.

$ sudo systemctl start nginx $ sudo systemctl activer nginx 

Important: Après avoir démarré le service Nginx, vous pouvez voir une erreur comme indiqué dans la capture d'écran ci-dessous.

systemd [1]: nginx.Service: Fichier PID / Run / Nginx.pid non lisible (encore?) après démarrage: aucun fichier ou répertoire de ce type 
Nginx n'a pas réussi à démarrer l'erreur

Pour le résoudre, ouvrez la configuration Nginx / etc / nginx / nginx.confli filer et ajouter la ligne suivante.

#pid journaux / nginx.pid; à pid / run / nginx.pid; 

Enfin, redémarrez à nouveau le service Nginx.

$ sudo systemctl daemon-reload $ sudo systemctl start nginx $ sudo systemctl status nginx 

Étape 4: Configurer Nginx avec module PagesPeed

dix. Maintenant que Nginx est installé et en cours d'exécution sur votre système, vous devez activer le module NGX_PageSpeed. Créez d'abord un répertoire où le module mettra en cache les fichiers de votre site Web et définira les autorisations appropriées sur ce répertoire comme suit.

$ sudo mkdir -p / var / ngx_pagespeed_cache $ sudo chown -r personne: nogroup / var / ngx_pagespeed_cache 

11. Pour activer le module NGX_PageSpeed, ouvrez le fichier de configuration Nginx.

$ sudo vi / etc / nginx / nginx.confli 

Ajouter les lignes de configuration NGX_PAGSEPEED dans le bloc du serveur.

# Pagespeed Paramètres principaux Pagespeed sur; pagespeed filecachepath / var / ngx_pagespeed_cache; # Assurez-vous que les demandes de ressources optimisées PagesPeed vont au PagesPeed # Manageur et aucun en-têtes étrangères n'est défini. Emplacement ~ "\.PageSpeed ​​\.([a-z] \.)?[a-z] 2 \.[^.]dix\.[^.] + "add_header" "" "; Location ~" ^ / ngx_pagespeed_static / " Location ~" ^ / ngx_pagespeed_beacon " 

Note: Si vous avez déployé des hôtes virtuels Nginx sur le serveur, ajoutez les directives de pages de pages ci-dessus à chaque bloc de serveur pour activer NGX_PAGESPEED sur chaque site.

Ce qui suit est un exemple de travail du fichier de configuration Nginx avec Ngx_pagespeed activé dans l'hôte virtuel par défaut.

Configuration Nginx avec Ngx_PageSpeed
#User personne; Worker_Processes 1; #Error_log Journaux / erreur.enregistrer; #Error_log Journaux / erreur.Avis du journal; #Error_log Journaux / erreur.Infos de journal; pid / run / nginx.pid; Événements Worker_Connections 1024;  http inclure mime.les types; Default_type Application / Octet-Stream; #log_format main '$ Remote_addr - $ Remote_user [$ time_local] "$ request"' # '$ status $ body_bytes_sent "$ http_referrer"' # '"$ http_user_ager" "$ http_x_forwardedd_for"'; #ACCESS_LOG LOGS / Access.journal principal; SendFile sur; #TCP_NOPUSH ON; #keepalive_timeout 0; keepalive_timeout 65; #gzip sur; Server écouter 80; server_name localhost; #Charset KOI8-R; #ACCESS_LOG LOGS / HOST.accès.journal principal; # Pagespeed Paramètres principaux Pagespeed sur; pagespeed filecachepath / var / ngx_pagespeed_cache; # Assurez-vous que les demandes de ressources optimisées PagesPeed vont au gestionnaire de pages # et aucun en-têtes étrangères n'est défini. Emplacement ~ "\.PageSpeed ​​\.([a-z] \.)?[a-z] 2 \.[^.]dix\.[^.] + "add_header" "" "; Location ~" ^ / ngx_pagespeed_static / " Location ~" ^ / ngx_pagespeed_beacon " emplacement / root html; Index index.index html.htm;  #Error_Page 404/404.html; # Rediriger les pages d'erreur du serveur vers la page statique / 50X.HTML # ERROR_PAGE 500 502 503 504 / 50X.html; Emplacement = / 50x.html root html;  # Proxy les scripts PHP à écouter Apache sur 127.0.0.1:80 # #Location ~ \.php $ # proxy_pass http: // 127.0.0.1; # # Passez les scripts PHP à FastCGI Server écoutant sur 127.0.0.1: 9000 # #Location ~ \.php $ # root html; # fastcgi_pass 127.0.0.1: 9000; # index fastcgi_index.PHP; # fastcgi_param script_filename / scripts $ fastcgi_script_name; # inclut fastcgi_params; # # refuser l'accès à .Fichiers htaccess, si la racine du document d'Apache # concorde avec l'une # #location ~ / \.ht # nier tout; # # Un autre hôte virtuel utilisant le mixage de la configuration ip-, name- et basée sur le port # #Server # écouter 8000; # Écoutez SomeName: 8080; # server_name Somememe alias un autre.alias; # emplacement / # root html; # Index d'index.index html.htm; # # # HTTPS Server # #Server # écouter 443 SSL; # server_name localhost; # ssl_certificate Cert.pem; # ssl_certificate_key Cert.clé; # ssl_session_cache partagée: ssl: 1m; # ssl_session_timeout 5m; # SSL_CIPHERS HIGH:!anull:!MD5; # ssl_prefer_server_ciphers sur; # emplacement / # root html; # Index d'index.index html.htm; # # 

Enregistrez et fermez le fichier.

12. Vérifiez ensuite si la syntaxe du fichier de configuration Nginx est sans erreur en exécutant la commande ci-dessous, si elle est correcte, vous verrez la sortie ci-dessous:

$ sudo nginx -t nginx: le fichier de configuration / usr / local / nginx / conf / nginx.La syntaxe confr est ok nginx: fichier de configuration / usr / local / nginx / conf / nginx.Le test de confure réussit 

13. Ensuite, redémarrez le serveur Nginx pour effectuer les modifications récentes.

$ sudo systemctl redémarrer nginx 

Étape 5: Tester Nginx avec NGX_PAGSEPEED

14. Maintenant, testez si NGX-Pagespeed fonctionne maintenant en conjonction avec Nginx en utilisant la commande curl ci-dessous.

$ curl -i -p http: // localhost 
Vérifiez Nginx avec ngx_pagespeed

Si vous n'avez pas réussi à voir l'en-tête ci-dessus, revenez à l'étape 10 et passez en revue les instructions pour activer Ngx-Pagespeed avec les étapes successives.

Référentiel GitHub Ngx-Pagespeed: https: // github.com / pagespeed / ngx_pagespeed

Si vous souhaitez sécuriser le serveur Web Nginx, nous vous suggérons de lire ce tutoriel utile: le guide ultime pour sécuriser, durcir et améliorer les performances de Nginx.

C'est ça! Dans ce tutoriel, nous avons expliqué comment installer Nginx avec NGX_PAGEPEED sur Debian et Ubuntu. Si vous avez des requêtes, envoyez-nous à l'aide de notre formulaire de commentaires ci-dessous.