Recherche de site Web

Configurer les blocs de serveur Nginx (hôtes virtuels) sur CentOS/RHEL 8


Un bloc serveur Nginx est l'équivalent d'un hôte virtuel Apache et vous permet d'héberger plusieurs domaines ou sites Web sur votre serveur.

Dans cet article, vous apprendrez comment configurer des blocs de serveur Nginx (hôtes virtuels) sur CentOS 8 et RHEL 8 Linux.

Conditions préalables:

  • Un enregistrement A pour votre domaine. En termes simples, un enregistrement A fait référence à une entrée DNS où le nom de domaine pointe vers l'adresse IP publique du serveur, dans ce cas le serveur Web Nginx. Tout au long de ce guide, nous utiliserons le nom de domaine crazytechgeek.info.
  • Un serveur Nginx ou LEMP Stack installé sur une instance CentOS 8 ou RHEL 8.
  • Un utilisateur connecté avec les privilèges Sudo.

Commençons!

Étape 1 : Créer un répertoire racine de documents Nginx

Dès le départ, vous devez créer un répertoire racine Web personnalisé pour le domaine que vous souhaitez héberger. Dans notre cas, nous allons créer le répertoire comme indiqué en utilisant l'option mkdir -p pour créer tous les répertoires parents nécessaires :

sudo mkdir -p /var/www/crazytechgeek.info/html

Attribuez ensuite les autorisations de répertoire à l'aide de la variable d'environnement $USER. Ce faisant, assurez-vous que vous êtes connecté en tant qu'utilisateur régulier et non en tant qu'utilisateur root.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

Ensuite, attribuez les autorisations de répertoire appropriées de manière récursive, comme indiqué :

sudo chmod -R 755 /var/www/crazytechgeek.info/html

Étape 2 : Créer un exemple de page pour le domaine

Ensuite, nous allons créer un fichier index.html dans le répertoire racine Web personnalisé qui sera servi par le domaine une fois la demande effectuée.

sudo vim /var/www/crazytechgeek.info/html/index.html

Dans le fichier, collez l’exemple de contenu suivant.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Awesome! Your Nginx server block is working!</h1>
    </body>
</html>

Enregistrez et quittez le fichier de configuration.

Étape 3 : Créer un bloc de serveur Nginx dans CentOS

Pour que le serveur Web Nginx serve le contenu du fichier index.html que nous avons créé à l'étape 2, nous devons créer un fichier de bloc de serveur avec les directives appropriées. Par conséquent, nous allons créer un nouveau bloc serveur à l’adresse :

sudo vim /etc/nginx/conf.d/crazytechgeek.info.conf

Ensuite, collez la configuration qui apparaît ci-dessous.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }

		
    access_log /var/log/nginx/crazytechgeek.info.access.log;
    error_log /var/log/nginx/crazytechgeek.info.error.log;

}

Lorsque vous avez terminé, enregistrez les modifications et quittez le fichier de configuration. Pour confirmer que toutes les configurations Nginx sont correctes et sans erreur, exécutez la commande :

sudo nginx -t

Le résultat ci-dessous devrait être une confirmation que vous êtes prêt à partir !

Enfin, redémarrez votre serveur Web Nginx et confirmez qu'il fonctionne comme prévu :

sudo systemctl restart nginx
sudo systemctl status nginx

Étape 4 : tester le bloc serveur Nginx dans CentOS

Nous avons tous terminé avec les configurations. La seule partie restante est de confirmer si notre bloc serveur diffuse du contenu dans le répertoire racine Web défini précédemment dans le fichier index.html.

Pour ce faire, ouvrez simplement votre navigateur et accédez au domaine de votre serveur comme indiqué :

http://domain-name

Comme nous l'avons observé, notre contenu est servi par le blocage du serveur, une indication claire que tout s'est bien passé.

Étape 5 : Activer HTTPS sur le domaine hébergé sur Nginx

Vous pouvez envisager de chiffrer votre domaine à l'aide de Lets Encrypt SSL pour ajouter une couche de protection et sécuriser le trafic vers et depuis le serveur Web.

sudo dnf install certbot python3-certbot-nginx
sudo certbot --nginx

Pour confirmer que votre domaine est correctement configuré sur HTTPS, visitez https://votresiteweb.com/ dans votre navigateur et recherchez l'icône de verrouillage dans la barre d'URL.

Conclusion

Nous avons mis en place avec succès un bloc de serveur Nginx sur CentOS 8 et RHEL 8. Vous pouvez répéter la même chose pour plusieurs domaines en utilisant la même procédure.