GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer les blocs de serveur Nginx dans Ubuntu 18.04 LTS

Dans notre guide précédent, nous avons expliqué comment configurer les hôtes virtuels Apache dans Ubuntu 18.04 LTS . Aujourd'hui, dans ce guide, nous allons apprendre à configurer les blocs de serveur Nginx dans Ubuntu 18.04. Les blocs de serveur sont similaires aux hôtes virtuels d'Apache qui vous aident à héberger plusieurs sites Web/domaines sur un seul serveur. L'adresse IP de mon boîtier de test est 192.168.225.24 et le nom d'hôte est ubuntuserver .

Configurer les blocs de serveur Nginx dans Ubuntu 18.04 LTS

Assurez-vous d'avoir mis à jour votre système Ubuntu vers la version la plus récente.

$ sudo apt-get update

1. Installer le serveur Web Nginx 

Pour installer le serveur Web Nginx sur Ubuntu, exécutez :

$ sudo apt-get install nginx

Une fois Nginx installé, testez s'il fonctionne ou non en parcourant la page de test de nginx dans le navigateur.

Ouvrez votre navigateur Web et pointez-le vers http://IP_Address ou http://localhost . Vous devriez voir une page comme ci-dessous.

Bon! Le serveur Web Nginx est opérationnel !

2. Créer un répertoire Web pour chaque hôte

Je vais créer deux blocs Server, à savoir ostechnix1.lan et ostechnix2.lan .

Créons un répertoire pour le premier bloc de serveur ostechnix1.lan. Ce répertoire est nécessaire pour stocker les données de nos blocs serveur.

Pour ce faire, saisissez :

$ sudo mkdir -p /var/www/html/ostechnix1.lan/public_html

De même, créez un répertoire pour le deuxième bloc de serveur ostechnix2.lan comme indiqué ci-dessous.

$ sudo mkdir -p /var/www/html/ostechnix2.lan/public_html

Les deux répertoires ci-dessus appartiennent à l'utilisateur root. Nous devons changer la propriété de l'utilisateur normal.

Pour ce faire, exécutez :

$ sudo chown -R $USER:$USER /var/www/html/ostechnix1.lan/public_html
$ sudo chown -R $USER:$USER /var/www/html/ostechnix2.lan/public_html

Ici, $USER fait référence à l'utilisateur actuellement connecté.

Ensuite, définissez les autorisations de lecture sur le répertoire racine Nginx, c'est-à-dire /var/www/html/ à l'aide de la commande :

$ sudo chmod -R 755 /var/www/html/

Nous le faisons parce que nous avons déjà créé un répertoire séparé pour chaque bloc de serveur pour stocker leurs données. Nous avons donc défini le répertoire racine Nginx en lecture seule pour tous les utilisateurs, à l'exception de l'utilisateur racine.

Nous avons créé les répertoires requis pour stocker les données de chaque bloc de serveur, configurer les autorisations appropriées. Il est maintenant temps de créer des exemples de pages qui seront servies à partir de chaque bloc de serveur.

3. Créez des pages Web de démonstration pour chaque hôte

Créons un exemple de page pour le site ostechnix1.lan. Pour ce faire, exécutez :

$ sudo vi /var/www/html/ostechnix1.lan/public_html/index.html

Ajoutez-y les lignes suivantes :

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix1.lan website</h1>
 </body>
</html>

Enregistrez et fermez le fichier.

De même, créez une page d'exemple pour le site ostechnix2.lan :

$ sudo vi /var/www/html/ostechnix2.lan/public_html/index.html

Ajoutez-y les lignes suivantes :

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix2.lan website</h1>
 </body>
</html>

Enregistrez et fermez le fichier.

4. Créer un fichier de configuration pour chaque hôte

Ensuite, nous devons créer des fichiers de configuration pour chaque bloc de serveur. Faisons d'abord cela pour le site ostechnix1.lan.

Copiez le contenu du fichier de configuration du bloc de serveur par défaut dans les nouveaux fichiers de bloc de serveur comme ci-dessous.

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/ostechnix1.lan.conf
$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/ostechnix2.lan.conf

Ensuite, modifiez ostechnix.lan1.conf fichier :

$ sudo vi /etc/nginx/sites-available/ostechnix1.lan.conf

Apportez les modifications nécessaires dans le server_name et racine directives à faire correspondre avec le premier nom de domaine. Toutes les modifications sont indiquées en caractères gras ci-dessous.

# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;

# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;

root /var/www/html/ostechnix1.lan/public_html;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;

server_name ostechnix1.lan www.ostechnix1.lan;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}

Enregistrez et fermez le fichier.

Ensuite, modifiez ostechnix2.lan.conf fichier :

$ sudo vi /etc/nginx/sites-available/ostechnix2.lan.conf

Apportez les modifications nécessaires dans le server_name et racine directives à refléter au deuxième nom de domaine. Toutes les modifications sont indiquées en caractères gras.

# Default server configuration
#
server {
listen 80;
listen [::]:80;

# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;

root /var/www/html/ostechnix2.lan/public_html;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;

server_name ostechnix2.lan www.ostechnix2.lan;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}

Comme vous l'avez peut-être remarqué dans la configuration ci-dessus, j'ai apporté une autre modification. J'ai supprimé le default_server ligne dans le écoutez 80 ; et écoutez [::]:80; directives dans le deuxième fichier de bloc de serveur (ostechnix2.lan). Parce que nous avons déjà utilisé default_server ligne dans le premier bloc de serveur, nous l'avons donc supprimée du deuxième fichier pour éviter les conflits.

Enregistrez/fermez le fichier.

5. Activer les blocs de serveur Nginx

Après avoir apporté les modifications nécessaires, désactivez le fichier de configuration de bloc de serveur par défaut et activez tous les fichiers de configuration de bloc de serveur nouvellement créés, comme indiqué ci-dessous.

$ sudo rm /etc/nginx/sites-enabled/default
$ sudo ln -s /etc/nginx/sites-available/ostechnix1.lan.conf /etc/nginx/sites-enabled/
$ sudo ln -s /etc/nginx/sites-available/ostechnix2.lan.conf /etc/nginx/sites-enabled/

Redémarrez le service Nginx pour appliquer les modifications.

$ sudo systemctl restart nginx

C'est ça. Nous avons configuré avec succès les blocs de serveur dans Nginx. Allons-y et vérifions s'ils fonctionnent ou non.

6. Tester les blocs du serveur Nginx

Ouvrez le fichier /etc/hosts dans n'importe quel éditeur :

$ sudo vi /etc/hosts

Ajoutez tous vos sites Web/domaines virtuels un par un comme ci-dessous.

[...]
192.168.225.24   ostechnix1.lan
192.168.225.24   ostechnix2.lan
[...]

Veuillez noter que si vous souhaitez accéder aux blocs du serveur à partir de n'importe quel système distant, vous devez ajouter les lignes ci-dessus dans le fichier /etc/hosts de chaque système distant. Enregistrez et fermez le fichier.

Ouvrez votre navigateur Web et pointez-le vers http://ostechnix1.lan ou http://ostechnix2.lan .

page de test ostechnix1.lan :

page de test ostechnix2.lan :

Toutes nos félicitations! Vous pouvez maintenant accéder à tous vos sites Web/domaines. À partir de maintenant, vous pouvez télécharger les données et les diffuser à partir de différents sites 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 le serveur de stockage iSCSI sur Ubuntu 18.04 LTS

  4. Comment configurer le serveur Rsyslog sur Ubuntu 18.04 LTS

  5. Comment configurer un serveur de stockage iSCSI sur Ubuntu 20.04 LTS

Comment mettre à niveau vers le serveur Ubuntu 20.04 LTS

Comment configurer le dernier MySQL sur Ubuntu 20.04 LTS

Comment configurer le serveur Git sur Ubuntu 20.04

Comment configurer le serveur Rsyslog sur Ubuntu

Comment configurer le serveur DHCP sur Ubuntu

Comment installer Nginx sur Ubuntu 18.04 LTS