GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer le cache Nginx sur un serveur LAMP

Apache est l'un des serveurs Web les plus fiables et les plus puissants disponibles. Apache est open-source, hautement personnalisable et est livré avec de nombreux modules qui vous permettent d'ajouter des fonctionnalités supplémentaires. Il est connu pour sa puissance et est spécialement conçu pour les sites Web de petite à moyenne taille.

L'utilisation d'Apache en parallèle avec Nginx et FastCGI Cache vous permet de tirer le meilleur parti des deux mondes. Cette configuration améliorera les performances de votre serveur Web en utilisant les points forts des deux applications de serveur Web. Le cache Nginx FastCGI fonctionne en stockant des copies de fichiers dans un cache afin qu'ils soient accessibles plus rapidement.

Dans ce tutoriel, nous allons vous montrer comment configurer le cache Nginx FastCGI avec LAMP Server sur Ubuntu 18.04. Nous allons configurer Apache en tant que serveur principal et Nginx en tant que serveur frontal avec FastCGI Cache.

Prérequis

  • Un nouveau VPS Ubuntu 18.04 sur la plate-forme cloud Atlantic.Net
  • Un mot de passe root configuré sur votre serveur

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 18.04 comme système d'exploitation avec au moins 1 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois connecté à votre serveur Ubuntu 18.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

apt-get update -y

Étape 2 - Installer le serveur LAMP

First, install the Apache web server, PHP, PHP-FPM and other modules with the following command:

apt-get install apache2 php php-fpm libapache2-mod-php7.2 libapache2-mod-fcgid -y

Une fois tous les packages installés, vous devrez activer certains modules Apache requis pour qu'Apache puisse fonctionner avec PHP-FPM.

Vous pouvez les activer avec la commande suivante :

a2enmod actions fcgid alias proxy_fcgi

Ensuite, redémarrez le service Apache pour appliquer les modifications.

systemctl restart apache2

Étape 3 – Créer un exemple de site Web

Tout d'abord, créez un répertoire pour votre site Web avec la commande suivante :

mkdir /var/www/html/example.com

Ensuite, créez un exemple de fichier info.php dans le répertoire de votre site Web :

nano /var/www/html/example.com/info.php

Ajoutez les lignes suivantes :

<?php phpinfo(); ?>

Enregistrez et fermez le fichier, puis changez la propriété de votre site Web en utilisateur www-data :

chown -R www-data:www-data /var/www/html/example.com
chmod -R 755 /var/www/html/example.com

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

Étape 4 - Configurer le serveur Web Apache

nano /etc/apache2/ports.conf

Changez la ligne de "Listen 80" à "Listen 8088":

Listen 8088

Enregistrez et fermez le fichier lorsque vous avez terminé, puis désactivez le fichier d'hôte virtuel par défaut d'Apache avec la commande suivante :

a2dissite 000-default.conf

Ensuite, redémarrez le serveur Web Apache pour mettre en œuvre les modifications.

systemctl restart apache2

Ensuite, créez un nouveau fichier de configuration d'hôte virtuel pour servir votre site Web :

nano /etc/apache2/sites-available/example.com.conf

Ajoutez le contenu suivant :

<VirtualHost 127.0.0.1:8088>
ServerName 127.0.0.1
ServerAdmin [email protected]
DocumentRoot /var/www/html/example.com
DirectoryIndex info.php

<FilesMatch \.php$>
# 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost"
</FilesMatch>

<Directory /var/www/html/>
Options FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
CustomLog /var/log/apache2/access.log combined
ErrorLog /var/log/apache2/error.log
</VirtualHost>

Enregistrez et fermez le fichier lorsque vous avez terminé, puis activez le fichier de configuration de l'hôte virtuel Apache avec la commande suivante :

a2ensite example.com.conf

Ensuite, redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

À ce stade, le serveur Web Apache est configuré et écoute sur localhost sur le port 8088.

Étape 5 - Configurer Nginx en tant que proxy inverse avec le cache FastCGI

Dans cette section, nous allons configurer Nginx en tant que proxy inverse pour le serveur Web Apache et activer FastCGI Cache.

Tout d'abord, installez le serveur Web Nginx avec la commande suivante :

apt-get install nginx -y

Une fois installé, créez un nouveau fichier de configuration d'hôte virtuel Nginx :

nano /etc/nginx/sites-available/example.com.conf

Ajoutez le contenu suivant :

# Enable FastCGI Support
proxy_cache_path /etc/nginx/cache levels=1:2 keys_zone=nginxcache:100m max_size=1g inactive=60m use_temp_path=off;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
add_header X-Cache $upstream_cache_status;

server {
listen 80;
server_name example.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location = /favicon.ico { access_log off; log_not_found off; }
set $skip_cache 0;

#Disable caching for login session, user cookie, POST request, query string, site map and feeds
if ($request_method = POST) {
set $skip_cache 1;
}
if ($query_string != "") {
set $skip_cache 1;
}

# Enable caching for your website.
location / {
proxy_pass http://127.0.0.1:8088;
proxy_set_header Host $host;
proxy_buffering on;
proxy_cache nginxcache;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 
http_503 http_504;
proxy_cache_valid 200 301 302 60m;
proxy_cache_min_uses 1;
proxy_cache_lock on;

}
}

Enregistrez et fermez le fichier lorsque vous avez terminé, puis activez le fichier d'hôte virtuel Nginx avec la commande suivante :

ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Ensuite, redémarrez le service Nginx pour appliquer les modifications :

systemctl restart nginx

Étape 6 - Tester le cache Nginx FastCGI

À ce stade, Nginx est installé et configuré en tant que proxy inverse pour Apache avec prise en charge de FastCGI Cache. Il est temps de vérifier si la mise en cache fonctionne ou non.

Ouvrez votre navigateur Web et accédez à votre serveur Web Nginx à l'aide de l'URL http://example.com et rechargez la page plusieurs fois.

Ensuite, ouvrez votre terminal et exécutez la commande suivante pour récupérer l'en-tête de réponse http.

curl -I http://example.com

Vous devriez obtenir le résultat suivant :

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Fri, 24 Apr 2020 17:01:42 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Cache: HIT

À partir de la sortie ci-dessus, X-Cache :HIT indique que la réponse a été servie à partir du cache.

Conclusion

Dans le guide ci-dessus, nous avons installé et configuré le serveur Web Apache en tant que serveur principal et Nginx en tant que serveur frontal avec mise en cache FastCGI. Espérons que cette configuration améliorera considérablement les performances de votre serveur Web. Commencez dès aujourd'hui avec la mise en cache FastCGI sur votre serveur LAMP avec l'hébergement VPS d'Atlantic.Net !


Linux
  1. Comment configurer les blocs de serveur Nginx dans Ubuntu 18.04 LTS

  2. Comment configurer WordPress sur Ubuntu Server avec Apache

  3. Comment installer le serveur LAMP sur Debian 11

  4. Comment configurer Apache en tant que proxy frontal pour Node.js

  5. Comment installer le serveur LAMP sur CentOS 8

Comment installer LAMP (Apache, MariaDB, PHP) sur un serveur cloud CentOS 7.2

Comment installer NGINX sur Ubuntu 20.04

Comment configurer l'authentification par mot de passe avec Apache sur Ubuntu 18.04

Comment configurer le cache Nginx sur le serveur LEMP

Comment configurer un serveur NGINX RTMP pour le streaming

Comment configurer Nginx comme équilibreur de charge pour Apache ou Tomcat pour HTTP/HTTPS