Article créé par la communauté et vérifié par l'équipe
Ce tutoriel a été rédigé par un membre de la communauté via AzurDOCS. Il a été relu et révisé par notre équipe, toutefois il peut comporter des imprécisions. Lisez-le avec discernement.
Ce tutoriel vous permet de déployer un site web créé en Node.js sur votre VPS Linux.
⚠️ ATTENTION ! Remplacez [domaine] par le nom de domaine utilisé, [PORT] par le port utilisé par Node.js et [server.js] par le fichier d’exécution du site ! Aussi, n'oubliez pas de pointer le nom de domaine vers l'IP du VPS avec un enregistrement A dans la zone DNS !
Étape 1 : Préparation du VPS
1. Connexion par SSH au VPS :
Logiciel PuTTY pour Windows
ssh user@ip_du_vps pour Linux et macOS
2. Mettre à jour le système
sudo apt update && sudo apt upgrade -y
3. Installer les outils nécessaires
sudo apt install curl wget nginx snapd -y
4. Installer Node.js et npm
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install nodejs -y
5. Installer PM2
sudo npm install pm2 -g
6. Installer Certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Étape 2 : Configurer le site
1. Créer le dossier du projet
sudo mkdir -p /var/www/[domaine]
2. Transférer les fichiers
Utiliser FileZilla pour transférer tous les fichiers du site dans /var/www/[domaine].
3. Installer les dépendances
cd /var/www/[domaine] npm install
4. Configurer PM2
pm2 start [server.js] --name [domaine]
pm2 save
pm2 startup
5. Configurer Nginx pour le site
sudo nano /etc/nginx/sites-available/[domaine].conf
Ajouter cette configuration :
server {
listen 80;
server_name [domaine];
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
6. Activer la configuration Nginx
sudo ln -s /etc/nginx/sites-available/[domaine].conf \
/etc/nginx/sites-enabled/[domaine].conf
7. Obtenir le certificat SSL
sudo certbot --nginx -d [domaine] -d www.[domaine]
Acceptez les Conditions d'Utilisation et renseignez votre email pour avoir une alerte en cas d'expiration de certificat.
8. Tester et redémarrer Nginx
sudo nginx -t sudo systemctl restart nginx
Étape 3 : Configurer le renouvellement automatique des certificats SSL (optionnel)
1. Créer un script de renouvellement
sudo nano /usr/local/bin/renew_certificates.sh
Ajouter ce contenu :
#!/bin/bash
certbot renew --quiet --post-hook "systemctl reload nginx"
Rendre le script exécutable :
sudo chmod +x /usr/local/bin/renew_certificates.sh
2. Configurer un cron job pour un renouvellement mensuel
sudo crontab -e
Ajouter cette ligne :
0 0 1 * * /usr/local/bin/renew_certificates.sh