GNU/Linux >> Tutoriels Linux >  >> Cent OS

Installez Nginx avec ngx_pagespeed sur CentOS 7

Ngx-pagespeed est un module Nginx gratuit et open source qui peut être utilisé pour accélérer votre site et réduire le temps de chargement des pages. Il fonctionne en appliquant automatiquement les meilleures pratiques de performances Web aux pages et aux ressources associées sans que vous ayez à modifier votre contenu ou votre flux de travail existant. Vous pouvez facilement optimiser divers fichiers tels que CSS, HTML, png et jpg à l'aide du module Ngx-pagespeed.

Ngx-pagespeed est livré avec de nombreuses fonctionnalités, dont certaines sont répertoriées ci-dessous :

  • Prend en charge le redimensionnement, la recompression et l'optimisation dynamiques des images.
  • Inlining de petites ressources.
  • Réécriture HTML.
  • Extension de la durée de vie du cache.
  • Différer le JavaScript et le chargement des images

Dans ce tutoriel, nous verrons comment compiler Nginx avec le module ngx_pagespeed sur le serveur CentOS 7.

Exigences

  • Nouveau serveur CentOS 7 installé sur votre système.
  • Utilisateur Sudo avec privilèges root.

1 Mettre à jour le système

Commençons par mettre à jour votre système vers la dernière version stable. Vous pouvez le faire en exécutant la commande suivante :

sudo yum mise à jour -y

Une fois votre système mis à jour, redémarrez le système et connectez-vous avec l'utilisateur sudo.

2 Installer les dépendances requises

Vous devrez installer certains packages afin de compiler Nginx. Vous pouvez installer toutes ces dépendances en exécutant la commande suivante :

sudo yum install gcc cmake unzip wget gcc-c++ pcre-devel zlib-devel -y

Une fois toutes les dépendances requises installées, vous pouvez passer à l'étape suivante.

3 Compiler Nginx avec Ngx-pagespeed

Pour installer Nginx avec le module ngx-pagespeed, vous devrez compiler Nginx à partir de la source. Tout d'abord, vous devrez télécharger la source Nginx. Vous pouvez le télécharger en exécutant la commande suivante :

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

Pour compiler Nginx avec le module ngx_pagespeed, vous devrez également télécharger le package source ngx_pagespeed. Vous pouvez le télécharger avec la commande suivante :

wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip

Une fois les deux packages téléchargés, extrayez-les avec la commande suivante :

tar -xvzf nginx-1.12.0.tar.gz
tar -xvzf v1.12.34.2-stable.zip

Ensuite, vous devrez également télécharger les bibliothèques d'optimisation PageSpeed ​​pour compiler Nginx. Vous pouvez le télécharger avec la commande suivante :

cd ngx_pagespeed-1.12.34.2-stable
wget https://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz
tar -xvzf 1.12.34.2-x64.tar.gz
cd ..

Commençons maintenant à compiler Nginx avec le module pagespeed.

Tout d'abord, changez le répertoire en répertoire source Nginx avec la commande suivante :

cd nginx-1.12.0

Ensuite, configurez la source Nginx avec la commande suivante :

sudo ./configure --add-module=$HOME/ngx_pagespeed-1.12.34.2-stable --user=nobody --group=nobody --pid-path=/var/run/nginx.pid ${PS_NGX_EXTRA_FLAGS } 

Une fois la configuration terminée, compilez Nginx en exécutant la commande suivante :

sudo make

La commande ci-dessus prendra plusieurs minutes. Après cela, vous pouvez installer nginx en exécutant la commande suivante :

sudo make install

Une fois Nginx installé, vous devrez créer un lien symbolique pour Nginx :

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

4 Créer un script de démarrage Nginx

Vous devrez également créer un script de démarrage pour que Nginx arrête et démarre Nginx. Vous pouvez le faire en créant un fichier nginx dans le répertoire /etc/init.d :

sudo nano /etc/init.d/nginx

Ajoutez les lignes suivantes :

#!/bin/sh## nginx - ce script démarre et arrête le démon nginx## chkconfig :- 85 15# description :NGINX est un serveur HTTP(S), HTTP(S) reverse \# proxy et IMAP /POP3 proxy server# processname :nginx# config :/etc/nginx/nginx.conf# config :/etc/sysconfig/nginx# pidfile :/var/run/nginx.pid# Source function library.. /etc/rc. d/init.d/functions# Configuration du réseau source.. /etc/sysconfig/network# Vérifiez que le réseau est opérationnel.[ "$NETWORKING" ="no" ] &&exit 0nginx="/usr/sbin/nginx"prog=$(basename $nginx)NGINX_CONF_FILE="/etc/nginx/nginx.conf"[ -f /etc/sysconfig/nginx ] &&. /etc/sysconfig/nginxlockfile=/var/lock/subsys/nginxmake_dirs() { # créer les répertoires requis user=`$nginx -V 2>&1 | grep "arguments de configuration :.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` if [ -n "$user" ]; then if [ -z "`grep $user /etc/passwd`" ] ; puis useradd -M -s /bin/nologin $user fi options=`$nginx -V 2>&1 | grep 'configure arguments:'` for opt in $options; faire si [ `echo $opt | grep '.*-temp-path'` ]; puis valeur=`echo $opt | couper -d "=" -f 2` si [ ! -d "$valeur" ] ; then # echo "créer" $value mkdir -p $value &&chown -R $user $value fi fi done fi}start() { [ -x $nginx ] || sortie 5 [ -f $NGINX_CONF_FILE ] || exit 6 make_dirs echo -n $"Démarrage de $prog :" démon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] &&touch $lockfile return $retval}stop() { echo -n $"Arrêt de $prog :" killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] &&rm -f $lockfile return $retval}restart() { configtest || retourner $ ? stop sleep 1 start}reload() { configtest || retourner $ ? echo -n $"Rechargement de $prog :" killproc $nginx -HUP RETVAL=$? echo}force_reload() { restart}configtest() { $nginx -t -c $NGINX_CONF_FILE}rh_status() { status $prog}rh_status_q() { rh_status>/dev/null 2>&1}case "$1" in start) rh_status_q &&sortie 0 $1;; arrêt) rh_status_q || sortie 0 $1;; redémarrage|test de configuration) $1;; recharger) rh_status_q || sortie 7 $1;; force-reload) force_reload;; statut) rh_status;; condrestart|essayer-redémarrer) rh_status_q || sortie 0;; *) echo $"Utilisation :$0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2esac

Enregistrez et fermez le fichier lorsque vous avez terminé, puis donnez-lui la permission d'exécution :

sudo chmod +x /etc/init.d/nginx

Démarrez maintenant le service nginx et activez-le pour qu'il démarre au démarrage avec la commande suivante :

sudo systemctl start nginx
sudo systemctl enable nginx

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

5 Configurer Nginx

Maintenant, Nginx est installé avec le support ngx-pagespeed. Par défaut, PageSpeed ​​est désactivé. Avant de l'activer, il est recommandé de tester la vitesse de votre site Web. Ensuite, vous devrez créer un répertoire de cache pour ngx-pagespeed et également en attribuer la propriété à Nginx :

sudo mkdir -p /var/ngx_pagespeed_cache
sudo chown -R persons:nobody /var/ngx_pagespeed_cache

Ensuite, vous devrez apporter quelques modifications au fichier /etc/nginx/nginx.conf. Vous pouvez le faire en exécutant la commande suivante :

sudo nano /etc/nginx/nginx.conf

Ajoutez le code suivant entre le bloc serveur :

# Pagespeed main settingspagespeed on;pagespeed FileCachePath /var/ngx_pagespeed_cache;# Assurez-vous que les demandes de ressources optimisées pour la vitesse de page vont au gestionnaire pagespeed# et qu'aucun en-tête superflu n'est défini.location ~ "\.pagespeed\.([a-z]\. ) ?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" "" ; }emplacement ~ "^/ngx_pagespeed_static/" { }emplacement ~ "^/ngx_pagespeed_beacon" { }

Remarque :Si vous utilisez un hébergement virtuel, ajoutez les directives de vitesse de page ci-dessus à chaque fichier de configuration de bloc de serveur pour activer la vitesse de page sur chaque site Web.

Enregistrez et fermez le fichier lorsque vous avez terminé, puis vérifiez le Nginx pour toute erreur de configuration avec la commande suivante :

sudo nginx -t

Si tout va bien, vous devriez voir le résultat suivant :

nginx :la syntaxe du fichier de configuration /usr/local/nginx/conf/nginx.conf est oknginx :le test du fichier de configuration /usr/local/nginx/conf/nginx.conf est réussi

Enfin, redémarrez Nginx pour que les modifications prennent effet :

sudo systemctl redémarrer nginx

Une fois Nginx configuré, vous pouvez procéder au test de Ngx-pagespeed.

6 Tester Ngx-pagespeed

Nginx est maintenant opérationnel. Il est temps de vérifier si le module fonctionne ou non. Vous pouvez le vérifier en exécutant la commande suivante :

curl -I -p http://localhost

Vous devriez voir le résultat suivant :

HTTP/1.1 200 OKServer :nginx/1.12.0Content-Type :text/htmlConnection :keep-aliveVary :Accept-EncodingDate :Wed, 21 Jun 2017 17:21:08 GMTX-Page-Speed :1.12.34.2-0Cache -Contrôle :max-age=0, pas de cache

Vous devriez voir X-Page-Speed ​​et son numéro de version dans la sortie ci-dessus. Cela signifie que vous avez installé avec succès Ngx_pagespeed sur votre serveur.

Conclusion

Toutes nos félicitations! vous avez installé avec succès Nginx avec la prise en charge du module Ngx-pagespeed. J'espère que vous pourrez maintenant le déployer facilement dans un environnement de production. N'hésitez pas à me commenter si vous avez des questions.


Cent OS
  1. Comment installer WordPress avec Nginx sur CentOS 7

  2. Comment installer phpMyAdmin avec Nginx sur CentOS 7

  3. Comment installer phpMyAdmin avec Nginx sur CentOS 7 / RHEL 7

  4. Installer phpMyAdmin avec Nginx sur CentOS 7 - Processus étape par étape ?

  5. Comment installer Sitemagic CMS sur CentOS 7 – Avec Nginx

Installez WordPress avec Nginx sur CentOS 7 / RHEL 7

Comment installer phpMyAdmin avec Nginx sur CentOS 8 / RHEL 8

Comment installer Nginx avec ngx_pagespeed sur CentOS

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7

Comment installer Laravel avec Nginx sur CentOS 8