Nginx et Apache sont tous deux des serveurs Web gratuits, open source et les plus populaires dans le monde. Apache est connu pour sa puissance tandis que Nginx est connu pour sa rapidité. Les deux ont des avantages et des inconvénients. Nginx est utile pour le contenu statique tandis qu'Apache est pour le contenu dynamique. Si nous combinons les deux serveurs, nous obtiendrons un meilleur résultat l'un de l'autre.
Dans ce tutoriel, je vais configurer Apache en tant que serveur principal et utiliser Nginx comme proxy inverse pour Apache sur Debian 11.
Prérequis
- Un serveur exécutant Debian 11.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Avant de commencer, il est recommandé de mettre à jour le cache de packages de votre système vers la dernière version. Vous pouvez le mettre à jour à l'aide de la commande suivante :
apt-get update -y
Après avoir mis à jour le cache du package, installez les autres dépendances requises à l'aide de la commande suivante :
apt-get install gnupg2 curl -y
Une fois toutes les dépendances requises installées, vous pouvez passer à l'étape suivante.
Installer et configurer Apache
Dans cette section, nous allons installer le serveur Web Apache et le configurer pour qu'il s'exécute sur le port 8000 .
Commencez par installer le serveur Web Apache à l'aide de la commande suivante :
apt-get install apache2 -y
Une fois Apache installé, modifiez le fichier de configuration du port Apache :
nano /etc/apache2/ports.conf
Changez le port par défaut d'Apache de 80 à 8000 :
Listen 8000
Enregistrez et fermez le fichier puis modifiez le fichier de configuration par défaut d'Apache :
nano /etc/apache2/sites-enabled/000-default.conf
Changez le port par défaut de 80 à 8000 comme indiqué ci-dessous :
<VirtualHost *:8000>
Enregistrez et fermez le fichier puis rechargez le service Apache pour appliquer les modifications :
systemctl restart apache2
Maintenant, ouvrez votre navigateur Web et accédez à la page de test Apache en utilisant l'URL http://your-server-ip:8000 . Vous devriez voir la page de test par défaut d'Apache sur l'écran suivant :
Installer et configurer Nginx
Maintenant, nous allons installer et configurer Nginx en tant que proxy inverse pour transmettre les requêtes entrantes au serveur Apache.
Tout d'abord, installez le Nginx avec la commande suivante :
apt-get install nginx -y
Une fois le Nginx installé, modifiez le fichier de configuration de l'hôte virtuel par défaut de Nginx avec la commande suivante :
nano /etc/nginx/sites-enabled/default
Supprimez toutes les lignes et ajoutez les lignes suivantes :
server { listen 80; index index.php index.html index.htm; server_name your-server-ip; location / { proxy_pass http://localhost:8000; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Enregistrez et fermez le fichier puis vérifiez le Nginx pour toute erreur de syntaxe avec la commande suivante :
nginx -t
Ensuite, rechargez le service Nginx pour appliquer les modifications :
systemctl restart nginx
Vérifier le serveur Web Nginx
À ce stade, Nginx est installé et configuré pour transmettre toutes les requêtes au serveur principal Apache. Vous pouvez maintenant ouvrir votre navigateur Web et saisir l'URL http://your-server-ip . Vous devriez voir la page par défaut du serveur Web Apache sur l'écran suivant :
Conclusion
Toutes nos félicitations! vous avez installé et configuré avec succès Nginx en tant que proxy inverse pour Apache. Vous pouvez désormais utiliser cette configuration dans l'environnement de production pour accélérer les performances de votre site Web.