GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installez Nginx et configurez l'hôte virtuel dans Ubuntu 20.04

Dans ce guide, nous allons explorer comment utiliser nginx dans Ubuntu 20.04, c'est-à-dire installer nginx et configurer nginx pour servir un site virtuel.

Installer Nginx

mettre à jour notre index de packages local afin que nous ayons accès aux listes de packages les plus récentes

sudo apt update

Installer nginx

sudo apt install nginx

Mettre à jour le pare-feu

Lister les applications ufw disponibles :

sudo ufw app list

Exemple de sortie :

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Les profils Nginx répertoriés :

  • Nginx Full – À la fois http – 80 et https – 443
  • Nginx HTTP – uniquement le trafic http 80
  • Nginx HTTPS – Trafic https uniquement 443 – Trafic crypté TLS/SSL

Activez le profil que vous souhaitez - à la fois http et https dans notre cas :

sudo ufw allow 'Nginx Full'

Vérifiez le changement

sudo ufw status

La commande ci-dessus indiquera quel trafic est autorisé.

Configurer nginx

Vérifier la version installée

sudo apt list --installed | grep nginx

Vérifier le service systemd

sudo systemctl status nginx

Vous devriez voir cette sortie indiquant que nginx est en cours d'exécution

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-30 14:07:33 UTC; 2min 42s ago
       Docs: man:nginx(8)
   Main PID: 4684 (nginx)
      Tasks: 5 (limit: 9257)
     CGroup: /system.slice/nginx.service
             ├─4684 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─4685 nginx: worker process
             ├─4686 nginx: worker process
             ├─4687 nginx: worker process
             └─4688 nginx: worker process

Jul 30 14:07:33 frhb64566ds systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 30 14:07:33 frhb64566ds systemd[1]: Started A high performance web server and a reverse proxy server.

Pour vous assurer que le service nginx fonctionne toujours même après le redémarrage, utilisez cette commande systemnd pour activer :

sudo systemctl enable nginx

Vous pouvez utiliser ces autres commandes systemd pour gérer nginx :

# To start the service
sudo systemctl start nginx

# To restart the service
sudo systemctl restart nginx

# To reload the service config
sudo systemctl reload nginx

# To stop the service config
sudo systemctl restart nginx

# To disable the service config
sudo systemctl restart nginx

Pour confirmer que nginx est en cours d'exécution et est accessible, utilisez cette commande :

curl http://server_ip/

server_ip est l'IP de votre serveur. Si, pour une raison quelconque, vous ne connaissez pas l'adresse IP publique de votre serveur, utilisez ceci pour vérifier :

curl -4 icanhazip.com

Ensuite :

curl http://178.170.10.54/

Vous devriez obtenir la page nginx par défaut.

Servir une page statique simple nginx

Jetons un coup d'œil à un exemple pour servir une page statique avec nginx. La page statique est html et css qui ne nécessite aucun rendu côté serveur. Nous allons utiliser l'exemple de domaine your.domain.com dans notre cas.

Étapes :

  1. Créez le répertoire pour stocker notre contenu statique (nous utiliserons /var/www/your.domain.com )

    sudo mkdir -p /var/www/your.domain.com
  2. Assurez-vous que le répertoire créé est accessible par l'utilisateur actuel

    sudo chown -R ${USER}:${USER} /var/www/your.domain.com
    sudo chmod -R 755 /var/www/your.domain.com
  3. Ajoutez un exemple de fichier au répertoire (/var/www/your.domain.com/index.html )

    cat > /var/www/your.domain.com/index.html <<EOF
    <html>
    <head>
        <title>Hola from your.domain.com!</title>
    </head>
    <body>
        <h1>Hey!</h1>
        <p>Our site <i>your.domain.com</i> is working as expected.</p>
    </body>
    </html>
    EOF
  4. Créez la configuration nginx dans le répertoire /etc/nginx/conf.d où nginx recherche les configurations à inclure lors du service. Nous allons créer le fichier /etc/nginx/conf.d/your.domain.com.conf avec le contenu requis.

Utilisez cette commande :

cat > /etc/nginx/conf.d/your.domain.com.conf <<EOF
server {
    listen 80;
    server_name your.domain.com;

    root /var/www/your.domain.com;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}
EOF
  1. Testez pour vous assurer qu'il n'y a pas d'erreurs de syntaxe dans l'un des fichiers nginx

    sudo nginx -t
  2. S'il n'y a pas d'erreurs, redémarrez nginx pour recharger la configuration

    sudo systemctl restart nginx
  3. Pour vous assurer que votre domaine peut atteindre le serveur, modifiez votre configuration DNS pour vous assurer que A enregistre le site your.domain.com pointe vers l'IP du serveur.

Votre site devrait maintenant être opérationnel. Confirmez en visitant http://votre.domaine.com

Fichiers et répertoires Nginx importants dans Nginx

  • /var/www/html :Il s'agit du répertoire de contenu Web. Celui-ci contient le contenu de la page par défaut dans le fichier index.nginx-debian.html . Cette page est rendue lorsqu'aucun hôte de serveur spécifique n'est défini.

  • /etc/nginx :Ceci contient tous les fichiers de configuration nginx.

  • /etc/nginx/nginx.conf  :Il s'agit du principal fichier de configuration global de nginx

  • /etc/nginx/sites-available/ :Le répertoire où les blocs de serveur par site peuvent être stockés. Nginx n'utilisera pas les fichiers de configuration trouvés dans ce répertoire à moins qu'ils ne soient liés au sites-enabled annuaire. En règle générale, toute la configuration du bloc de serveur est effectuée dans ce répertoire, puis activée en établissant un lien vers l'autre répertoire.

  • /etc/nginx/sites-enabled/ :Le répertoire dans lequel les blocs de serveur par site activés sont stockés. En règle générale, ceux-ci sont créés en créant un lien vers les fichiers de configuration trouvés dans le répertoire sites-available.

  • /etc/nginx/snippets :Ce répertoire contient des fragments de configuration qui peuvent être inclus ailleurs dans la configuration Nginx. Les segments de configuration potentiellement reproductibles sont de bons candidats pour la refactorisation en extraits.

  • /var/log/nginx/access.log  :Chaque demande adressée à votre serveur Web est enregistrée dans ce fichier journal, sauf si Nginx est configuré pour faire autrement.

  • /var/log/nginx/error.log  : Toutes les erreurs Nginx seront enregistrées dans ce journal.


Ubuntu
  1. Comment installer et configurer Nginx sur CentOS 8

  2. Comment installer et configurer Nginx sur Ubuntu 20.04

  3. Comment installer Nginx sur Ubuntu 16.04

  4. Comment installer et configurer GitLab sur Ubuntu 18.04

  5. Comment installer et configurer Varnish sur Ubuntu 20.04 ?

Comment installer et configurer GitLab CE sur Ubuntu 18.04 LTS

Comment installer et configurer DNS sur Ubuntu

Comment installer et configurer Kubernetes sur Ubuntu

Installer et configurer le journal avec Graylog dans Ubuntu 20.04

Comment installer et configurer Nginx dans Ubuntu 20.04 et Ubuntu 21.04

Comment installer et configurer Memcached sur Ubuntu