Déploiement d'une application TypeScript sur un VPS : guide étape par étape

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course
```html

Déploiement d'une application TypeScript sur un VPS : guide étape par étape



Vous avez écrit une application géniale en TypeScript. Localement, tout fonctionne parfaitement, mais il est temps de montrer votre projet au monde. Le déploiement sur un VPS (Virtual Private Server) est une étape logique et flexible. Contrairement aux plateformes cloud, un VPS vous donne un contrôle total sur l'environnement.



Dans cet article, nous allons détailler le processus étape par étape pour déployer une application TypeScript sur un VPS. Nous utiliserons Node.js, PM2 pour la gestion des processus et Nginx comme proxy inverse. Tous les exemples sont en TypeScript.



Il est supposé que vous avez des compétences de base avec Linux et SSH.



1. Préparation du serveur et connexion



La première étape est la location d'un VPS (DigitalOcean, Vultr, Timeweb, etc.) et la connexion via SSH.



ssh root@votre_ip_serveur


Mettons immédiatement à jour les paquets et installons les utilitaires nécessaires :



apt update && apt upgrade -yapt install curl git nginx -y


Installons Node.js (nous recommandons la version LTS) :



curl -fsSL https://deb.nodesource.com/setup_20.x | bash -apt install -y nodejs


Vérifions les versions :



node -vnpm -v


2. Clonage du dépôt et compilation TypeScript



Maintenant, clonons votre projet. Pour l'exemple, nous utiliserons une simple application Express en TypeScript :



git clone https://github.com/votre_nom_utilisateur/votre_depot.gitcd votre_depot


Installons les dépendances :



npm install


TypeScript doit être compilé en JavaScript. Cela se fait généralement avec la commande :



npm run build


Dans package.json, cela doit être défini comme :



{  "scripts": {    "build": "tsc",    "start": "node dist/index.js"  }}


Vérifiez que les fichiers compilés sont apparus dans le dossier dist.



3. Installation et configuration de PM2



PM2 est un gestionnaire de processus pour Node.js. Il redémarre l'application en cas de crash, gère les logs et la mise en cluster.



Installons PM2 globalement :



npm install pm2 -g


Lançons l'application :



pm2 start dist/index.js --name "my-typescript-app"


Sauvegardons la liste des processus pour que PM2 les restaure après un redémarrage du serveur :



pm2 savepm2 startup


PM2 affichera une commande à exécuter (généralement systemctl enable pm2-root). Copiez-la et exécutez-la.



Vous pouvez vérifier le statut avec la commande :



pm2 status


4. Configuration de Nginx comme proxy inverse



Nginx va recevoir les requêtes sur le port 80 (HTTP) et les rediriger vers votre application (par exemple, sur le port 3000).



Créons un fichier de configuration :



nano /etc/nginx/sites-available/my-typescript-app


Insérez le code suivant (modifiez server_name avec votre domaine ou IP) :



server {    listen 80;    server_name votre_domaine.ru www.votre_domaine.ru;

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; }}


Activons le site :



ln -s /etc/nginx/sites-available/my-typescript-app /etc/nginx/sites-enabled/nginx -tsystemctl restart nginx


Maintenant, votre application est accessible via l'IP ou le domaine.



5. Configuration HTTPS (SSL) avec Certbot



De nos jours, on ne peut pas se passer de HTTPS. Utilisons Let's Encrypt et Certbot.



Installons Certbot :



apt install certbot python3-certbot-nginx -y


Lançons l'obtention du certificat :



certbot --nginx -d votre_domaine.ru -d www.votre_domaine.ru
```

Blogs

Book Recommendations