Introduction
Nginx – est l'un des serveurs Web les plus populaires pour la publication de sites majeurs à fort trafic d'utilisateurs. De plus, c'est un utilitaire très confortable à la fois pour un serveur Web ou pour configurer un proxy inverse.
Dans notre instruction, nous allons parcourir:
- Pose Nginx sur un sereur déjà déployé ;
- Configuration firewall;
- Configuration du bloc serveur pour déployer plus d'un domaine sur un serveur ;
Les préparatifs
Avant de pouvoir commencer à travailler, nous devons déployer un Debian/Ubuntu/CentOS serveur, configurez au minimum le système avec un nouvel utilisateur et configurez les droits d'utilisation de la commande sudo, en utilisant cette instruction.
Après cela, installons Nginx sur notre serveur.
Pose Nginx
Nginx est un package standard dans la plupart des dépôts de système d'exploitation. Si le serveur a été configuré récemment, mettons à jour les index des packages logiciels et installons Nginx emballage:
apt update
apt install nginx -y
Avec la touche -y, vous êtes d'accord sur une installation automatique du paquet.
Configuration firewall
Après l'installation de Nginx paquet que vous devez configurer firewall pouvoir se connecter à Nginx extérieurement.
Regardons les utilitaires disponibles ajoutés à un firewall liste:
ufw app list
Nous devons trouver ces lignes, que nous allons ajouter à l'avenir :
Nginx Full – responsible for ports 80 (HTTP – normal and traffic is not encrypted) and 443 (HTTPS – encrypts traffic using TLS/SSL protocols)
Nginx HTTP – normal and traffic is not encrypted
Nginx HTTPS – traffic is crypted via TLS/SSL
OpenSSH – remote connection to the server via port 22
Tout d'abord, activons l'accès pour un port 80 :
ufw allow 'Nginx HTTP'
Vérifiez l'état de l'ajout de la règle dans firewall tu peux avec cette commande :
ufw status
En conséquence, nous pouvons voir une liste avec Nginx HTTP – Autoriser – Partout.
Vérification du serveur Web
Après l'installation d'un package, le système démarre automatiquement l'utilitaire, vous devez ajouter une connexion pour Nginx démarrage, après cela, au-delà du redémarrage du système, notre serveur Web sera automatiquement activé.
Statut de l'utilitaire que vous pouvez vérifier en utilisant :
service nginx status
Selon les résultats, nous pouvons nous assurer que le serveur Web est démarré avec succès. Après cela, nous devons vérifier sur notre système principal que Nginx est disponible. Ouvrez un navigateur et dans la barre d'adresse tapez l'adresse de votre serveur. Pour voir votre adresse, utilisez cette commande :
curl ifconfig.me
Résultat - adresse que nous devons taper dans la barre d'adresse.
Après transition sur une page on peut voir ceci :
À cette étape, nous avons déjà installé et configuré Nginx. Et nous avons configuré l'accès au serveur Web à partir d'un hôte externe.
Nginx gestion des processus
Nginx la gestion des processus s'exécute à l'aide de certaines lignes de commande commençant par systemctl, le signe # - est une ligne commentée, et nous mettons des informations sur ce que le code y fait réellement :
start nginx # starting nginx
reload nginx # if the configuration changes and performs a reboot without disconnecting the connection
restart nginx # restarting service
stop nginx # stopping service
disable nginx # disable from system auto-upload
enable nginx # enable to system auto-upload
Nous venons de parcourir une commande utile pour travailler avec Nginx.
Configuration du bloc serveur (recommandé)
Utiliser Nginx permet d'utiliser une partie du bloc serveur du serveur Web. En fait, vous pouvez utiliser l'encapsulation des détails pour configurer et déployer plusieurs sites sur votre serveur.
Regardons serverspaceconfiguration du domaine .tm, vous devez acheter un domaine pour l'examiner Nginx travail d'essai.
In Nginx un bloc de serveur est activé et il traite la configuration à partir du répertoire /var/www/html. Cette variante est bonne pour un site déployé, mais empêchera le travail du serveur Web si vous allez déployer plus d'un site sur un serveur. La meilleure façon de résoudre ce problème consiste à séparer un site Web supplémentaire du répertoire principal.
Créons un nouveau répertoire avec la clé "-p" dans /var/www/ :
mkdir -p /var/www/serverspace.tm/html
Pour éviter les problèmes d'autorisation, à partir de l'application qui possède le répertoire racine du document de domaine et tous les fichiers du répertoire, utilisez Nginx ( www-données ):
sudo chown -R www-data: /var/www/serverspace.tm
Après cela dans /var/www/serverspaceLe répertoire .tm/html permet de créer un fichier avec index.html comme nom, apportons quelques modifications à l'aide de l'éditeur de texte que vous préférez et collez le morceau de code suivant dans le fichier.
<!doctype html>
<html lang="eng">
<head>
<meta charset="UTF-8">
<title>Welocme to a ServerSpace.tm</title>
</head>
<body>
<h1>Successfully! Your domain ServerSpace.tm is working! </h1>
</body>
</html>
Enregistrez le fichier et quittez-le.
Exécutons la sortie avec une sauvegarde supplémentaire du fichier.
Si vous voulez Nginx pour traiter ce fichier, vous devez créer un fichier de configuration pour traiter le répertoire actuel. Au lieu de modifier le fichier de configuration par défaut, créons un nouveau fichier pour notre domaine dans /etc/nginxrépertoire /sites-disponibles/ :
vim /etc/nginx/sites-available/serverspace.tm
Ajoutez cette configuration et le contenu de index.html sera traité :
server {
listen 80;
listen [::]:80;
root /var/www/serverspace.tm/html;
index index.html index.htm index.nginx-debian.html;
server_name serverspace.tm www.serverspace.tm;
location / {
try_files $uri $uri/ =404;
}
}
Après cela, créons un lien symbolique du fichier dans le /etc/nginxrépertoire /sites-enabled/ vers Nginx à traiter, le serveur Web est démarré.
ln -s /etc/nginx/sites-available/serverspace.tm /etc/nginx/sites-enabled
Le lien symbolique ressemble à une étiquette, dans le dossier principal sites-available, vous pouvez apporter des modifications au fichier de configuration et les modifications affecteront le fichier du répertoire sites-enabled.
Pour éviter les problèmes de mémoire cache dus à des noms de serveur supplémentaires, décommentez la ligne server_names_hash_buckets_size 64 dans le fichier /etc/nginx/nginx.conf :
vim /etc/nginx/nginx.conf
http {
...
server_names_hash_buckets_size 64;
...
}
...
Enregistrez le fichier et connectez-vous.
Vérifiez l'exactitude de la configuration via :
nginx -t
Si aucune erreur ne se produit, redémarrons Nginx traiter et taper dans la barre de recherche :
http://serverspace.tm
Comme résultat, nous aurons cette page :
Conclusion
Dans notre instruction, nous avons parcouru :
- Nginx installation de paquets ;
- Firewall configuration à l'aide de l'utilitaire ufw ;
- Test de domaine avec Nginx serveur Web.