Configuration d'un Serveur Web DigitalOcean et Hébergement de Plusieurs Sites Web

DigitalOcean : Comment Installer Nginx et SSL

Cet article décrit comment installer Nginx et ajouter SSL à Nginx sur un serveur DigitalOcean.



Sommaire:

Étape 1 : Installer Nginx

# Installer nginx
sudo apt-get update
sudo apt-get -y install nginx

# Ajustez le pare-feu pour permettre le http
sudo ufw allow 'Nginx HTTP' # Port ouvert 80

# Modifiez l'index du site si vous le souhaitez
sudo nano /var/www/html/index.nginx-debian.html
sudo service nginx restart

Vérifiez maintenant votre navigateur en tapant l’adresse IP de votre serveur (exemple : http://your_server_ip). Vous devriez voir un message "Welcome to nginx !.

En savoir plus : Comment Installer Nginx sur Ubuntu 16.04

Étape 2 : Ajouter un nom de domaine personnalisé (facultatif)

Supposons que notre nom de domaine soit www.example.com

  1. Obtenir un nom de domaine auprès de n’importe quel bureau d’enregistrement de noms de domaine.
  2. Configurez les enregistrements DNS pour votre domaine en utilisant un service d’hébergement DNS (que DigitalOcean fournit).
  3. Ajoutez le domaine à votre compte DigitalOcean:
    • Modifiez le flag A pour attribuer votre domaine au bon Droplet
    • Modifier le CName pour permettre au www.example.com d’être relié au nom de domaine (sans www).

En savoir plus : Comment pointer vers les serveurs de noms DigitalOcean depuis les bureaux d’enregistrement de domaines communs

Étape 3 : Ajoutez un certificat SSL à votre HTTP pour obtenir le HTTPS (facultatif)

#  Installer Certbot
sudo add-apt-repository ppa:certbot/certbot  # appuyez sur la touche Entrée
sudo apt-get update
sudo apt-get install python-certbot-nginx

# Modifier le fichier de configuration nginx
sudo nano /etc/nginx/sites-available/default
# Trouvez la ligne server_name existante et remplacez l'underscore, _
server_name example.com www.example.com;
# Vérifier que la configuration est correcte
sudo nginx -t
# Recharger la nouvelle config
sudo systemctl reload nginx

# Autoriser le HTTPS à travers votre pare-feu
sudo ufw allow 'Nginx Full'
sudo ufw allow 'Nginx HTTP'

# Obtenir un certificat SSL
sudo certbot --nginx -d example.com -d www.example.com

Il vous sera demandé de choisir de rediriger ou non le trafic HTTP vers le HTTPS, en supprimant l’accès HTTP. Choisissez l’option 2 : Redirection - Faites rediriger toutes les demandes vers un accès HTTPS sécurisé.

Vous pouvez configurer le renouvellement automatique dans crontab. Vous n’avez pas besoin de faire cela car cerbot s’en chargera.

# Ouvrir le crontab
sudo crontab -e
# Ajoutez ceci
15 3 * * * /usr/bin/certbot renew --quiet

La partie 15 3 * * * de cette ligne signifie “exécuter la commande suivante à 3h15 du matin, tous les jours”. Vous pouvez choisir à tout moment.

Pour en savoir plus : Comment Sécuriser Nginx avec Let’s Encrypt sur Ubuntu 16.04

Questions Fréquemment Posées

Comment vérifier l’état du certificat SSL

Vérifiez le statut du certificat SSL d’un domaine/sous-domaine donné (ici, www.datanovia.com, par exemple)

Visitez ce site : https://www.ssllabs.com/ssltest/analyze.html?d=www.datanovia.com

Comment optimiser la configuration de Nginx

Processus de travail et connexions entre les travailleurs

Deux variables doivent être prises en compte ici:

  • worker_processes (processus_travailleurs en Français) : une pratique courante consiste à exécuter un processus travailleur par noyau. Pour savoir à combien s’élèvera le nombre de worker_processes, il suffit de regarder le nombre de coeurs que vous avez dans votre configuration. Utilisez le code de base suivant:
grep processor /proc/cpuinfo | wc -l
  • worker_connections : indique à nos processus de travail combien de personnes peuvent être servies simultanément par Nginx. La valeur par défaut est de 768. Vérifiez les limites de votre noyau en utilisant la commande bash suivante:
ulimit -n

Sur une machine plus petite (Droplet de 512MB), ce nombre indiquera probablement 1024, ce qui est un bon nombre de départ.

Mettez à jour votre fichier de configuration comme suit

# Ouvrez le fichier de configuration
sudo nano /etc/nginx/nginx.conf

# Ajoutez quelque chose comme ceci
worker_processes 1;
worker_connections 1024;

N’oubliez pas que le nombre de clients qui peuvent être servis peut être multiplié par le nombre de noyaux. Dans ce cas, nous pouvons servir 1024 clients/seconde. Cependant, la directive “keepalive_timeout” atténue encore davantage ce problème.

Comment mettre fin à un processus en cours sur le port 80

Si vous obtenez une erreur de suivi, lorsque vous essayez de démarrer nginx.

[emerg] : bind() to 0.0.0.0:80 failed (98: Address already in use)

Cela signifie alors que nginx ou un autre processus utilise déjà le port 80.

Vous pouvez le tuer en utilisant: sudo fuser -k 80/tcp

Et essayez ensuite de redémarrer le nginx:

service nginx start



Version: English

Configuration Initiale d’un Serveur Ubuntu sur DigitalOcean (Prev Lesson)
(Next Lesson) Comment Créer un Sous-Domaine sur DigitalOcean
Back to Configuration d’un Serveur Web DigitalOcean et Hébergement de Plusieurs Sites Web

No Comments

Give a comment

Want to post an issue with R? If yes, please make sure you have read this: How to Include Reproducible R Script Examples in Datanovia Comments