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

Comment configurer l'hôte virtuel Nginx (blocs de serveur) sur CentOS 7

Présentation

Server Blocks, souvent appelé hôte virtuel Nginx sont une fonctionnalité du serveur Web Nginx qui vous permet d'héberger plusieurs sites Web sur un seul serveur. Contrairement à l'installation et à la configuration d'un serveur pour chaque domaine, l'hébergement de plusieurs sites Web sur une seule machine permet d'économiser du temps et de l'argent.

Les domaines sont isolés et indépendants, chacun ayant un :

  • Répertoire de la documentation du site
  • Politique de sécurité du site Web
  • Certificat SSL

Dans ce didacticiel, découvrez comment configurer des blocs de serveur Nginx et configurer un fichier hôte local sur CentOS 7.

Prérequis

  • Un serveur autogéré CentOS ou une machine virtuelle
  • Nginx installé sur le système
  • Un utilisateur avec sudo privilèges

Configuration des blocs hôte virtuel/serveur sur CentOS

Étape 1 :Créer une structure de répertoire

L'hôte virtuel Nginx peut héberger plusieurs sites Web sur une seule machine. Comme chaque site Web possède une documentation de site individuelle, vous devez créer des structures de répertoires individuelles pour stocker les données.

Chaque bloc de serveur doit avoir un répertoire à l'intérieur de la racine du document (le /var/www répertoire).

Ce guide vous montre comment créer des hôtes virtuels pour deux serveurs (website1.com et siteweb2.com ). Vous pouvez ajuster la configuration et l'adapter à vos ressources respectives.

1. Commencez par utiliser la commande suivante pour créer un dossier dans /var/www répertoire avec la commande :

sudo mkdir -p /var/www/website1.com/html

2. Ensuite, créez-en un pour le deuxième site Web en tapant :

sudo mkdir -p /var/www/website2.com/html

3. Ensuite, modifiez la propriété des fichiers afin que d'autres utilisateurs puissent ajouter, supprimer ou modifier des fichiers dans les répertoires. Par conséquent, les deux répertoires appartiendront à l'utilisateur auquel vous êtes connecté.

4. Utilisez la commande chown pour modifier le propriétaire du fichier :

sudo chown -R $USER:$USER /var/www/website1.com/html

5. Répétez le processus pour le deuxième répertoire Web (en veillant à changer le nom de domaine) en tapant :

sudo chown -R $USER:$USER /var/www/website2.com/html

6. Enfin, accordez une autorisation de lecture à tous les fichiers du répertoire /var/www en utilisant le chmod commande :

sudo chmod -R 755 /var/www

Étape 2 :Créer une page de démonstration pour l'hôte virtuel

L'étape suivante consiste à créer le contenu que vous souhaitez afficher sur les sites Web hébergés sur les blocs de serveur Nginx. Le moyen le plus simple d'illustrer le processus serait de créer un index.html page pour les deux domaines mentionnés précédemment.

1. Utilisez un éditeur de texte Linux de votre choix pour créer et ouvrir le fichier index.html du premier site Web. Dans cet exemple, nous avons utilisé Vi (mais Nano ou tout autre fonctionne bien aussi):

vi /var/www/website1.com/html/index.html

2. Une fois qu'une page Vi vierge s'ouvre, appuyez sur i (à insérer) et ajoutez le contenu suivant :

<html>
  <head>
    <title>Welcome to our first website!</title>
  <head>
  <body>
    <h1>Great work! You have created the website1.com server block.</h1>
  <body>
<html>

3. Ensuite, enregistrez et quittez le premier fichier.

4. Répétez les étapes pour le deuxième domaine. Mais n'oubliez pas de modifier le nom du fichier en website2 :

vi /var/www/website2.com/html/index.html

Ajoutez également du contenu similaire à l'étape précédente, mais modifiez les détails pour qu'ils correspondent au deuxième domaine :

<html>
  <head>
    <title>Welcome to our second website!</title>
  <head>
  <body>
    <h1>Great work! You have created the website2.com server block.</h1>
  <body>
<html>

Encore une fois, enregistrez et quittez le fichier.

Étape 3 :Configurer l'environnement pour les fichiers de bloc de serveur

Avant de configurer des hôtes virtuels pour les deux domaines, nous devons créer deux répertoires :

  • Sites disponibles répertoire dans lequel stocker les blocs du serveur.
  • Compatible avec les sites répertoire qui indiquera à Nginx quels liens publier et quels blocs partagent du contenu avec les visiteurs.

1. Utilisez le mkdir commande pour créer les nouveaux répertoires à l'aide des commandes :

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

2. Ensuite, ouvrez le fichier de configuration Nginx et modifiez-le en ajoutant le répertoire sites-enabled :

sudo vi /etc/nginx/nginx.conf

3. Dans le bloc http, ajoutez les deux lignes suivantes :

include /etc/nginx/sites-enabled/*.conf
server_names_hash_bucket_size 64;

Alors que la première ligne demande à Nginx de vérifier le répertoire activé pour les sites, la seconde augmente la quantité de mémoire réservée à l'examen de plusieurs noms de domaine.

4. Enregistrez le fichier et quittez.

5. Vérifiez le fichier de configuration Nginx après avoir effectué tout type de modification pour vous assurer que la syntaxe est correcte. Cela peut aider à éviter d'éventuelles erreurs à l'avenir.

Testez le fichier avec la commande suivante :

sudo nginx --t

Si la syntaxe est correcte , la sortie vous indique que le test a réussi, comme dans l'image ci-dessous.

Cependant, s'il trouve un problème dans la syntaxe, la sortie spécifie où se trouve l'erreur et comment revenir en arrière et la corriger.

Étape 4 :Créer des fichiers de bloc de serveur

Le package de serveur Web Nginx est fourni avec un bloc de serveur par défaut sous le nom default.conf. Comme vous devez créer des blocs de serveur pour chaque domaine, le moyen le plus simple de le faire serait de copier le modèle existant et de modifier les spécifications.

1. Créez un hôte virtuel pour le premier site Web avec le cp commande pour faire une copie exacte du fichier :

sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/website1.com.conf

2. Ouvrez le fichier cloné avec un éditeur de texte avec la commande suivante :

sudo vi /etc/nginx/sites-available/website1.com.conf

Le contenu du fichier doit apparaître comme dans l'image ci-dessous :

3. Il y a trois (3) lignes que vous devrez modifier dans le fichier :

  • Le nom_du_serveur doit correspondre au nom de domaine de votre premier site Web. Assurez-vous d'inclure l'adresse avec et sans le www. préfixe. Ce faisant, le serveur reconnaîtra les deux types de demandes des visiteurs et les redirigera vers le même contenu.

Dans notre exemple, le server_name serait donc :

server name website1.com www.website1.com;
  • Modifiez le répertoire racine pour qu'il coïncide avec website1.com à l'aide de la commande :
root /var/www/website1.com/html;
  • Ajouter un try_files commande avec une erreur 404 pour les instances où le serveur reçoit des requêtes pour des fichiers et répertoires introuvables :
try_files $uri $uri/ =404;

Assurez-vous d'enregistrer le fichier avant de quitter. Une fois toutes les modifications effectuées, le fichier de configuration apparaîtra comme suit :

4. Répétez le processus pour le deuxième bloc de serveur tout en modifiant les détails pour qu'ils correspondent à website2.com .

Cela inclut la copie du fichier de configuration par défaut avec la commande :

sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/website2.com.conf

Suivi de l'ouverture d'un fichier avec un éditeur de texte :

sudo vi /etc/nginx/sites-available/website2.com.conf

Modifiez le contenu de la manière suivante :

server name website2.com www.website2.com;
try_files $uri $uri/ =404;
root /var/www/website2.com/html;

Étape 5 :Activer les fichiers de blocage du serveur

Pour activer les fichiers de l'hôte virtuel, créez des liens symboliques dans les répertoires activés pour les sites avec les commandes :

sudo ln -s /etc/nginx/sites-available/website1.com.conf /etc/nginx/sites-enabled/website1.com.conf
sudo ln -s /etc/nginx/sites-available/website2.com.conf /etc/nginx/sites-enabled/website2.com.conf


Pour que les modifications prennent effet, assurez-vous de redémarrer Nginx :

sudo systemctl restart nginx

Étape 6 :Configurer le fichier hôte

Si vous avez utilisé les exemples de domaines au lieu de ceux qui fonctionnent, modifiez les hôtes fichier pour rediriger les requêtes vers le serveur privé virtuel (VPS) que vous avez créé.

1. Ouvrez le fichier hôte dans un éditeur de texte :

sudo vi /etc/hosts

2. Modifiez les deux lignes suivantes sous le contenu existant, tout en spécifiant l'adresse IP du VPS :

ip_address website1.com
ip_address website2.com

3. Enregistrez et quittez le fichier.

Étape 7 :Vérifier la configuration des blocs de serveur

Pour vérifier la configuration des blocs de serveur, accédez aux sites Web que vous avez créés pour héberger sur les blocs de serveur.

Ouvrez un navigateur et saisissez l'URL du premier domaine :

www.website1.com
www.website2.com

Vous devriez voir le contenu créé pour la page de démonstration à l'étape 2.


Cent OS
  1. Comment configurer des hôtes virtuels Apache sur CentOS

  2. Comment créer un hôte virtuel Nginx (bloc serveur)

  3. Configurer le serveur DHCP sur CentOS 8 - Comment faire ?

  4. Comment configurer les blocs de serveur Nginx sur Ubuntu et CentOS

  5. Hôte virtuel Nginx – Bloc serveur Nginx

Comment créer des hôtes virtuels Apache sur CentOS 7

Comment créer un serveur LAMP sur CentOS 7

Comment installer Nginx sur CentOS

Comment configurer un hôte virtuel Nginx

Comment installer Nginx sur CentOS 6

Comment configurer le serveur DHCP sur CentOS 8