Dans le post précédent, nous vous expliquions comment créer un virtualhost Apache sur CentOS 8. Cette fois c'est au tour de faire de même avec Nginx. Donc, cet article concerne la configuration des hôtes virtuels Nginx sur CentOS 8.
La seule mise en garde que nous devons faire est que le terme Virtualhost est utilisé pour Apache et à la place comme Nginx est Server Blocks. Même si en théorie c'est la même chose, il est bon de le savoir.
Installer le serveur Web Nginx sur CentOS 8 / Rocky Linux 8
Nous commençons par une nouvelle installation de CentOS 8, la première étape consiste donc à mettre à niveau le serveur.
sudo dnf update
Ensuite, installez Nginx à partir des dépôts officiels en exécutant la commande suivante
sudo dnf install nginx
Lorsque l'installation est terminée, vous pouvez démarrer le service.
sudo systemctl start nginx
Il est également conseillé de démarrer nginx avec le système.
sudo systemctl enable nginx
Après cela, vous pouvez vérifier l'état du service
sudo systemctl status nginx
Nous avons seulement besoin d'ouvrir les ports nécessaires dans le pare-feu, qui sont 80
et 443
.
sudo firewall-cmd --add-port=80/tcp
sudo firewall-cmd --add-port=443/tcp
sudo firewall-cmd --reload
Et ouvrez un navigateur Web et visitez http://your-server-ip
et vous verrez cet écran.
Cela indique que Nginx est installé et en cours d'exécution sur le système.
Création d'hôtes virtuels nginx sur CentOS 8
Pour ce cas, nous allons utiliser le domaine cia.unixcop.com
mais cela peut être le vôtre.
Pour travailler de manière plus ordonnée, il est recommandé de créer un dossier dédié à notre site. Le nom du dossier n'a pas à faire, mais il est conseillé que ce soit une référence au site.
sudo mkdir -p /var/www/cia.unixcop.com
Faites de Nginx le propriétaire du dossier pour éviter les problèmes
sudo chown -R nginx: /var/www/cia.unixcop.com
Après cela, ajoutez un fichier HTML de test
sudo nano /var/www/cia.unixcop.com/index.html
Avec le contenu suivant
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome</title>
</head>
<body>
<h1>Hello, welcome to this site!!!!</h1>
</body>
</html>
Enregistrez les modifications et fermez l'éditeur.
Chaque Virtualhost ou Server Block a un fichier de configuration que nous devons créer. Ces configurations varient d'un site à l'autre et dépendent de l'administrateur.
Ces fichiers de configuration doivent être dans le répertoire /etc/nginx/conf.d/
Encore une fois, le nom n'a pas beaucoup d'importance, mais rendez-le descriptif.
sudo nano /etc/nginx/conf.d/cia.unixcop.com.conf
et ajoutez ce qui suit :
server {
listen 80;
listen [::]:80;
root /var/www/cia.unixcop.com;
index index.html;
server_name cia.unixcop.com;
access_log /var/log/nginx/cia.unixcop.com.access.log;
error_log /var/log/nginx/cia.unixcop.com.error.log;
}
N'oubliez pas de modifier server_name
à votre nom de domaine. Modifiez également ce que bon vous semble.
Enregistrez les modifications et fermez l'éditeur.
Vous pouvez vérifier les erreurs avec la ligne de commande.
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Si tout se passe bien, nous pouvons appliquer les modifications en redémarrant le service.
sudo systemctl restart nginx
Il ne reste plus qu'à ouvrir un navigateur Web et visiter votre domaine pour afficher le fichier.
Alors tout va bien. C'est tout pour aujourd'hui.
Conclusion
Dans cet article, vous avez appris à créer des hôtes virtuels Nginx sur CentOS 8 / Rocky Linux 8 dans un processus simple qui nous permettra d'avoir plusieurs sites en cours d'exécution sur notre serveur.