GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer les blocs de serveur Nginx sur Ubuntu 18.04/20.04

Dans Nginx, blocages de serveur sont utilisés pour définir des informations de domaine spécifiques. Il aide à héberger plusieurs domaines ou sites Web. Chaque bloc contient des informations de domaine spécifiques telles que la racine du document, SSL, le port, etc. Les blocs de serveur Nginx sont similaires aux hôtes virtuels Apache.

Dans ce didacticiel, nous apprenons à configurer les blocs de serveur Nginx sur Ubuntu 18.04/20.04 .

Prérequis

Nécessite une instance Ubuntu 18.04/20.04. L'instance doit avoir Nginx installé. Nécessite un utilisateur avec un accès sudo.

Étape 1. Créer la structure du répertoire

La racine du document est le répertoire dans lequel les fichiers du site Web d'un nom de domaine sont stockés et servis en réponse aux demandes. Nous pouvons définir la racine du document à n'importe quel emplacement, mais dans cet article, nous utiliserons la structure de répertoires suivante :

/var/www/
├── domain1.com
│   └── images
│   └── index.html
│   └── style.css
├── domain2.net
│   └── images
│   └── index.html
│   └── style.css

Fondamentalement, nous allons créer un répertoire séparé pour chaque domaine que nous voulons héberger sur notre serveur à l'intérieur du /var/www répertoire.

Créons le répertoire racine de nos domaines :

$ sudo mkdir -p /var/www/domain1.com

À des fins de test, nous allons créer un répertoire index.html, des fichiers style.css et des images dans le répertoire racine des documents du domaine.

$ cd /var/www/domain1.com/
/var/www/domain1.com$ sudo mkdir images index.html style.css

Ouvrez notre éditeur et créez le fichier de démonstration :

/var/www/domain1.com/index.html
<!DOCTYPE html> <html lang="en" dir="ltr">

<head> <meta charset="utf-8">

<title>Welcome to domain1.com</title> <link rel="stylesheet" href="style.css"/>

</head>

<body> <h1 style="color:green;text-align:center;">Success! domain1.com home page!</h1>

</body>

</html>

Ici, nous exécutons les commandes en tant que sudo utilisateur et les fichiers et répertoires nouvellement créés appartiennent à la root utilisateur.

Pour éviter tout problème d'autorisation, nous pouvons changer la propriété du répertoire racine du document de domaine en l'utilisateur Nginx (www-data) :

$ sudo chown -R www-data: /var/www/domain1.com

nous ferons les mêmes procédures pour le domain2.net

Étape 2. Créer des fichiers de bloc de serveur Nginx pour chaque domaine

Maintenant que nous avons le contenu que nous souhaitons diffuser, nous devons réellement créer les blocs de serveur qui indiqueront à Nginx comment procéder.

Par défaut, Nginx contient un bloc serveur appelé dfault que nous pouvons utiliser comme modèle pour nos propres configurations. Nous commencerons par concevoir le bloc serveur de notre premier domaine, que nous copierons ensuite pour notre deuxième domaine et apporterons les modifications nécessaires.

1) Créer le premier fichier de bloc de serveur Nginx

Comme mentionné ci-dessus, nous allons créer notre premier fichier de configuration de bloc de serveur en copiant le fichier par défaut :

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/domain1.com

Maintenant, ouvrez le nouveau fichier que vous avez créé dans votre éditeur de texte avec les privilèges sudo :

$ sudo nano /etc/nginx/sites-available/domain1.com

Après avoir modifié le fichier, il ressemblera à ceci :

/etc/nginx/sites-available/domain1.com
server { 

listen 80; 

listen [::]:80; 

root /var/www/domain1.com; 

index index.html index.htm index.nginx-debian.html; 

server_name domain1.com www.domain1.com; 

location / 

    { try_files $uri $uri/ =404; 

  } 
}

C'est tout ce dont nous avons besoin pour une configuration de base. Enregistrez et fermez le fichier pour quitter Ctrl + x .

2) Créer le deuxième fichier de bloc de serveur Nginx

Maintenant que nous avons notre première configuration de bloc de serveur Nginx, nous pouvons l'utiliser comme base pour notre deuxième fichier. Copiez-le pour créer un nouveau fichier :

$ sudo cp /etc/nginx/sites-available/domain1.com /etc/nginx/sites-available/domain2.net

Ouvrez le nouveau fichier avec sudo privilèges dans votre éditeur :

$ sudo nano /etc/nginx/sites-available/domain2.net

Ajustez la directive racine pour qu'elle pointe vers le document root de notre deuxième domaine et ajustez le server_name pour correspondre au nom de domaine de votre deuxième site (assurez-vous d'inclure tous les alias).

Lorsque vous aurez terminé, notre fichier ressemblera probablement à ceci :

/etc/nginx/sites-available/domain2.net
server { 

listen 80; 

listen [::]:80; 

root /var/www/domain2.net; 

index index.html index.htm index.nginx-debian.html; 

server_name domain2.net www.domain2.net; 

location / 

{ try_files $uri $uri/ =404; 

  } 
}

Enregistrez et fermez le fichier pour quitter Ctrl + x .

Étape 3. Activez nos blocs de serveur Nginx et redémarrez Nginx

Maintenant que nous avons nos fichiers de blocage de serveur, nous devons les activer. Nous pouvons le faire en créant des liens symboliques à partir de ces fichiers vers le sites-enabled répertoire, que Nginx lit au démarrage.

Nous pouvons créer ces liens en tapant :

$ sudo ln -s /etc/nginx/sites-available/domain1.com /etc/nginx/sites-enabled/
$ sudo ln -s /etc/nginx/sites-available/domain2.net /etc/nginx/sites-enabled/

Ces fichiers sont maintenant dans le répertoire activé, nous avons maintenant trois blocs de serveur activés :

1. domaine1.com :répondra aux demandes de domaine1.com et www.domain1.com
2. domain2.net :répondra aux demandes de domain2.net et www.domain2.net
3. par défaut :répondra à toutes les requêtes sur le port 80 qui ne correspondent pas aux deux autres blocs.

Afin d'éviter un éventuel problème de mémoire de compartiment de hachage pouvant survenir lors de l'ajout de noms de serveur supplémentaires, nous allons continuer et ajuster une seule valeur dans notre fichier /etc/nginx/nginx.conf. Ouvrez le fichier maintenant :

$ sudo nano /etc/nginx/nginx.conf

Dans le fichier, recherchez le server_names_hash_bucket_size directif. Supprimez le # symbole pour décommenter la ligne :

/etc/nginx/nginx.conf
http { . . . server_names_hash_bucket_size 64; . . . }

Enregistrez et fermez le fichier lorsque vous avez terminé.

Ensuite, testez pour vous assurer qu'il n'y a pas d'erreurs de syntaxe dans l'un de nos fichiers Nginx :

$ sudo nginx -t

Si aucun problème n'a été trouvé, redémarrez Nginx pour activer nos modifications :

$ sudo systemctl restart nginx

Nginx devrait maintenant servir nos deux noms de domaine.

Étape 4. Vérifiez en accédant au site Web

Maintenant que nous sommes tous configurés, nous devons tester que nos blocs de serveur fonctionnent correctement. Nous pouvons le faire en visitant les domaines dans notre navigateur Web :

http://domain1.com

Vous devriez voir une page qui ressemble à ceci :

Si vous visitez votre deuxième nom de domaine, vous devriez voir un site légèrement différent :

http://domain2.net

Conclusion

Dans ce tutoriel, nous avons appris à configurer le bloc serveur Nginx sur Ubuntu 18.04/20.04. À l'aide des blocs de serveur Nginx, nous avons configuré deux domaines pour répondre aux requêtes Web.


Ubuntu
  1. Comment configurer les blocs de serveur Nginx sur Ubuntu 18.04

  2. Comment installer Nginx sur Ubuntu 20.04

  3. Comment configurer les blocs de serveur Nginx sur Ubuntu 20.04

  4. Comment configurer HAProxy sur le serveur Debian 9 / Ubuntu 16.04

  5. Comment installer et configurer Nginx sur Ubuntu 18.04 / Debian 9

Comment installer MongoDB dans Ubuntu 22.04/20.04

Comment installer PHP 8 sur Ubuntu 22.04/20.04

Comment redémarrer ou recharger NGINX sur le serveur Ubuntu 20.04

Comment installer et configurer Nginx dans Ubuntu 20.04 et Ubuntu 21.04

Comment installer Nginx sur Ubuntu

Comment installer Nginx sur Ubuntu 18.04 LTS