NGINX vs Apache : Quel est le meilleur serveur Web pour WordPress ?
Publié: 2023-02-12Pour exécuter un site Web WordPress, vous devez l'héberger sur un serveur Web. C'est ce qui permet aux navigateurs Web de demander les données de votre site. Cependant, il existe plusieurs options de serveur Web, ce qui peut rendre le choix d'une tâche intimidante.
Bien qu'il existe de nombreux serveurs Web parmi lesquels choisir, Apache et NGINX sont les options les plus populaires. Mais lequel des deux est le meilleur serveur Web ?
Ces deux serveurs Web gèrent plus de 50% de tout le trafic Web. Bien qu'ils partagent de nombreuses qualités, il existe des différences que vous devez connaître et qui peuvent vous aider à choisir celle qui convient à votre site. Dans cet article, nous aborderons les différences entre NGINX et Apache. Nous verrons ensuite comment vous pouvez installer WordPress sur les deux types de serveurs. Commençons!
Comparaison des performances : NGINX et Apache
Comme nous l'avons mentionné précédemment, NGINX et Apache sont les options de serveur Web les plus importantes. Ils peuvent gérer diverses charges de travail et travailler avec d'autres logiciels pour former des piles LAMP et LEMU. Cependant, afin de comparer avec précision ces serveurs Web, vous devez comprendre en quoi ils diffèrent.
apache
Apache est le plus ancien des deux serveurs et a été publié et développé pour la première fois par l'Apache Software Foundation en 1995 par Robert McCool. Depuis 1996, Apache est le premier serveur Web et il est utilisé par environ 38,7 % des sites Web. Actuellement, la Fondation Apache continue de publier des versions pour Apache.
Le module Apache offre une gamme d'avantages, notamment :
- Options de préinstallation : Apache est préinstallé sur les principales distributions Linux.
- Communauté d'utilisateurs : Apache dispose d'une grande communauté d'utilisateurs qui s'entraident.
- Système de chargement dynamique des modules : Ce système vous évite de toucher au package principal lors de la mise à jour du serveur.
- Réécritures d'URL en .htaccess : Apache 2 utilise mod_rewrite pour des réécritures propres.
- Conception modulaire : Apache offre une plus grande personnalisation et flexibilité grâce à la conception modulaire.
- Configuration du serveur à l'aide du fichier httpd.conf : La configuration est simple, car vous n'avez pas besoin d'accéder au fichier principal apache2.conf .
- Agir en tant que serveur « passerelle » : Apache peut également remplir la fonction de serveur proxy inverse.
Le serveur Apache est un serveur Web convivial avec de nombreuses fonctionnalités de personnalisation. Le logiciel est également compatible avec les serveurs Unix et Windows.
NGINX
NGINX a été publié en 2004 par Igor Sysoev, fondateur de NGINX Inc., pour résoudre le problème C10K. C'est le défi auquel les serveurs Web sont confrontés lorsqu'ils traitent 10 000 demandes de connexion simultanées ou plus.
Pour résoudre ce problème, NGINX a été développé en tant qu'architecture asynchrone, non bloquante et basée sur les événements. C'est l'une des principales différences entre NGINX et Apache. C'est également l'une des raisons pour lesquelles environ 32,1 % des sites Web utilisent NGINX.
NGINX offre de nombreux autres avantages, tels que :
- Conception légère : NGINX peut fonctionner sur un matériel minimal et utilise moins de mémoire qu'Apache.
- Gestion du contenu statique : NGINX offre une meilleure gestion du contenu statique lorsqu'il est correctement configuré.
- Réactivité à forte charge : NGINX reste très réactif en cas de trafic intense.
- Conception conviviale : La courbe d'apprentissage est plus facile et NGINX est convivial pour les débutants.
- Configuration modulaire : La conception de ce serveur permet des constructions flexibles et une gamme de modules tiers.
- Proxy inverse : NGINX Plus offre un proxy inverse basé sur un logiciel avec des capacités similaires aux solutions matérielles à moindre coût.
NGINX et NGINX Plus sont souvent considérés comme de meilleures options pour les sites Web à fort trafic en raison de ses capacités d'équilibrage de charge pour gérer des charges plus lourdes. Il est également idéal pour maintenir des performances optimales sur les sites avec beaucoup de contenu Web statique.
Quelle est la différence entre Apache et NGINX ?
Bien que NGINX et Apache HTTP Server soient similaires, il existe de nombreuses différences entre les deux. La plus grande distinction est la façon dont ces serveurs Web gèrent plusieurs demandes de clients. Apache utilise une solution forkée, tandis que NGINX utilise une boucle d'événement non bloquante.
Apache fournit des modules de multitraitement (MPM) qui dictent le fonctionnement de la gestion des requêtes. L'approche bifurquée facilite l'échange de l'architecture de gestion des connexions. Les modules utilisés dans cette approche sont des ajouts aux fonctionnalités de base d'Apache. Chaque module de multitraitement démarre un processus différent pour gérer les requêtes du serveur.
Un exemple est mpm-worker - un module qui crée des processus gérant plusieurs threads. Chaque thread est une connexion unique au serveur. L'ajout de ce module permet la mise à l'échelle du serveur et permet la gestion de grandes quantités de trafic.
NGINX est différent et génère uniquement des processus de travail pour la gestion simultanée des demandes. Ces processus sont des événements non bloquants qui vérifient et traitent en permanence plusieurs demandes. Cette vérification continue crée une boucle. Tous les événements de la boucle sont asynchrones et sont supprimés de la boucle lorsque la connexion se ferme.
Quel est le meilleur logiciel de serveur Web WordPress ?
Apache et NGINX fonctionnent bien avec l'hébergement WordPress. Cependant, NGINX pourrait être la meilleure option si vous souhaitez améliorer les performances. Voyons comment installer WordPress sur les deux types de serveurs, afin que vous soyez prêt à commencer avec l'un ou l'autre.
Comment installer WordPress sur Apache
Pour installer WordPress sur Apache, vous devrez configurer une pile LAMP (Linux, Apache, MySQL et PHP). Cela se fait généralement sur un serveur Ubuntu.
Étape 1 : Créez un utilisateur Sudo sur votre serveur
Pour créer un utilisateur, connectez-vous à votre serveur en tant qu'utilisateur root. Utilisez ensuite la commande add user ci-dessous pour créer un nouveau compte :

$ adduser username
Le serveur vous demandera de définir et de confirmer un mot de passe. Ensuite, remplissez les détails de l'utilisateur. Ensuite, vous pouvez fournir un accès sudo à cet utilisateur. Cet accès permet à l'utilisateur d'exécuter des commandes normalement exécutées par l'utilisateur root.
Pour ajouter l'utilisateur à un groupe sudo , saisissez la commande suivante :
$ usermod -aG sudo username
Ensuite, vous devrez vous connecter au serveur en tant qu'utilisateur sudo pour le reste du processus d'installation.
Étape 2 : Installer le serveur Web Apache
Pour installer Apache, vous devrez utiliser le gestionnaire de packages Ubuntu apt . C'est la valeur par défaut sur les serveurs Ubuntu. La saisie de la commande sudo suivante démarre l'installation après avoir saisi votre mot de passe :
$ sudo apt update $ sudo apt install apache2
Vous verrez alors les packages qui seront installés et la quantité d'espace disque nécessaire. Appuyez sur Y puis sur Entrée pour démarrer l'installation.
Étape 3 : Installer le serveur de base de données MySQL
Ensuite, vous devrez installer le système de gestion de base de données MySQL. La commande suivante dans le gestionnaire de packages lancera l'installation :
$ sudo apt install mysql-server
Les packages et l'espace disque requis s'afficheront à nouveau. Pour démarrer l'installation, appuyez sur Y et définissez le mot de passe root.
Étape 4 : Installer PHP
PHP est la partie de votre pile LAMP qui traite le code en contenu dynamique. Pour l'installer, vous devez saisir la commande suivante :
$ sudo apt install php libapache2-mod-php php-mysql
PHP devrait alors s'installer sans problème. Vous devrez redémarrer le serveur pour terminer l'installation de la pile. Pour ce faire, saisissez la commande suivante :
$ sudo systemctl restart apache2
Votre pile LAMP est maintenant installée et configurée.
Étape 5 : Configurer les hôtes virtuels
Les hôtes virtuels encapsulent les détails de configuration et constituent une étape recommandée. L'encapsulation vous permet d'héberger plusieurs sites Web sur un serveur.
Les serveurs Apache utilisent par défaut les répertoires /var/www/html qui sont peu maniables pour plusieurs sites Web. Pour créer un hôte virtuel, vous devrez configurer une structure de répertoires dans /var/www pour le domaine du nouveau site Web.
Utilisez la commande suivante pour créer cette structure :
sudo mkdir /var/www/new_domain
Remplacez new_domain par le domaine de votre site Web. Créez ensuite un fichier index.html avec un exemple de contenu à l'aide de la commande nano :
$ nano /var/www/new_domain/index.html
Pour vous assurer qu'Apache sert votre contenu, vous devrez également créer un fichier hôte. La commande suivante crée le fichier de configuration :
$ sudo nano /etc/apache2/sites-available/your_domain.conf
Ajoutez ensuite le bloc de configuration suivant :
<VirtualHost *:80> ServerAdmin [email protected] ServerName new_domain ServerAlias www.new_domain DocumentRoot /var/www/new_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
La commande suivante active le fichier, tandis que la seconde désactive le site par défaut sur le serveur :
$ sudo a2ensite new_domain.conf $ sudo a2dissite 000-default.conf
Votre hôte virtuel devrait maintenant être configuré et fonctionner. Ce répertoire nouvellement créé doit être utilisé pour l'installation de WordPress.
Étape 6 : Installer WordPress
Après avoir configuré votre pile LAMP, vous pouvez installer WordPress. Téléchargez la dernière version de WordPress et installez-la avec la commande suivante :
$ sudo apt update $ sudo apt install wordpress php libapache2-mod-php mysql-server php-mysql
Ensuite, configurez Apache pour WordPress et créez la base de données MySQL. Utilisez ensuite l'interface du navigateur Web WordPress pour terminer la configuration du site Web. Cela inclut la création d'un titre de site et la définition d'un mot de passe.
Comment installer WordPress sur NGINX
Pour installer WordPress sur NGINX, vous avez besoin d'un serveur exécutant l'une des distributions prises en charge par NGINX Unit. Si vous utilisez Linux, vous allez créer une pile LEMU (Linux, NGINX, MySQL et NGINX Unit).
Étape 1 : Installer MySQL
Avant de commencer, créez un utilisateur de serveur avec un accès sudo . Connectez-vous à votre serveur en tant qu'utilisateur root et utilisez la commande suivante pour créer un nouveau compte :
$ adduser username
Vous devrez entrer et confirmer un mot de passe avant de remplir les détails de l'utilisateur. Ensuite, vous pouvez fournir un accès sudo à cet utilisateur. Cet accès permet à l'utilisateur d'exécuter des commandes normalement exécutées par l'utilisateur root.
Pour ajouter l'utilisateur à un groupe sudo , saisissez la commande suivante :
$ usermod -aG sudo username
Connectez-vous au serveur en tant qu'utilisateur sudo et utilisez la commande suivante pour installer MySQL :
$ sudo apt-get install mysql-server
Saisissez un nouveau mot de passe racine. L'outil de configuration MySQL peut alors s'exécuter. Il s'agit d'un assistant de configuration qui vous guide tout au long du processus d'installation.
Étape 2 : Créer une base de données MySQL
Une fois que MySQL est prêt, vous pouvez créer une nouvelle base de données. Vous devrez également créer un nouvel utilisateur avec une autorisation de gestion. Pour ce faire, connectez-vous au compte root MySQL et saisissez les commandes suivantes :
$ sudo mysql -u root -p mysql> CREATE DATABASE wordpress; mysql> CREATE USER [email protected] IDENTIFIED BY 'secure_password'; mysql> GRANT ALL PRIVILEGES ON wordpress.* TO [email protected]; mysql> FLUSH PRIVILEGES; mysql> Exit Bye
La commande Flush Privileges garantit que MySQL reconnaît les modifications que vous avez apportées. Vous devez modifier le nom d'utilisateur et le mot de passe par défaut pour qu'ils correspondent à vos préférences.
Étape 3 : Installer WordPress
Avant d'installer WordPress, vous devez créer un emplacement de fichier temporaire à l'aide de la commande suivante :
$ cd /var/www/ $ sudo wget http://wordpress.org/latest.tar.gz $ sudo tar xzvf latest.tar.gz
Cette commande télécharge et décompresse également WordPress.
Étape 4 : Configurez WordPress
Créez ensuite une copie du fichier de configuration de WordPress et renommez-le à l'aide des commandes suivantes :
$ cd /var/www/wordpress $ sudo cp wp-config-sample.php wp-config.php
Vous pouvez mettre à jour les clés SALT dans le fichier pour améliorer la sécurité. L'utilisation de nano ouvre le fichier wp-config.php et vous permet de rechercher les clés SALT :
$ sudo nano wp-config.php
Remplacez les clés par celles nouvellement générées, puis enregistrez et quittez le fichier.
Étape 5 : Installer PHP
Bien que vous puissiez utiliser NGINX Unit, vous devez toujours installer PHP. Vous pouvez utiliser la commande suivante pour le faire :
$ sudo apt-get install -y php7.0 php7.0-common php7.0-mbstring php7.0-gd php7.0-intl php7.0-xml php7.0-mysql php7.0-mcrypt
Cela est nécessaire car WordPress s'appuie sur plusieurs extensions qui ne sont pas incluses dans NGINX Unit.
Étape 6 : Installer l'unité NGINX
Enfin, vous devrez installer l'unité NGINX précompilée pour le système d'exploitation de votre serveur. Utilisez la commande suivante pour installer le module pour PHP :
$ sudo apt-get install unit-php $ sudo service unit restart $ sudo curl -X PUT --data-binary @/usr/share/doc/unit-php/examples/unit.config --unix-socket /run/control.unit.sock http://localhost/config $ curl http://localhost:8300/
Ces commandes vérifient également que NGINX Unit et PHP fonctionnent correctement.
Ensuite, vous devez installer et configurer NGINX Open Source. Vous pouvez installer un package prédéfini à partir de la branche mainline. Ceux-ci incluent les dernières fonctionnalités et correctifs. Après cette configuration, WordPress sera prêt à être utilisé.
Continuez à apprendre avec WP Engine
Apache et NGINX sont les options logicielles de serveur Web les plus populaires. Mais dans la bataille entre NGINX et Apache, lequel l'emporte ? Bien qu'ils soient similaires à bien des égards, le serveur NGINX offre de meilleures performances pour les sites Web à fort trafic. Cependant, Apache a une plus grande communauté avec plus de documentation.
Bien sûr, vous aurez besoin de plusieurs choses pour développer un site Web exceptionnel. Ceux-ci incluent les bons outils, les meilleures ressources et un hébergement Web de premier ordre !
Pour plus de ressources SEO et liées au Web comme l'optimisation WordPress et la compréhension des erreurs HTTP 400, consultez notre Centre de ressources pour améliorer votre site.