Introduction : Pourquoi le VPS est l'endroit idéal pour votre projet TypeScript ?
Vous avez écrit une super application en TypeScript — que ce soit un serveur Express, un site Next.js ou une API NestJS. Localement, tout fonctionne parfaitement, mais il est temps de montrer votre projet au monde. De nombreux débutants craignent l'étape du déploiement, la jugeant complexe et confuse. En réalité, comprendre ce processus une fois pour toutes vous permettra de déployer n'importe quel projet TypeScript en 15 à 20 minutes.
Dans ce guide, nous allons détailler le cycle complet de déploiement d'une application TypeScript sur un VPS (Virtual Private Server) — de la préparation du serveur à la configuration du domaine et du HTTPS. Cet article est axé sur l'écosystème Node.js, car TypeScript est le plus souvent utilisé avec celui-ci.
Ce que vous allez apprendre :
- Comment préparer un VPS pour le travail (Ubuntu 22.04)
- Comment configurer Node.js, TypeScript et le gestionnaire de processus PM2
- Comment compiler (builder) TypeScript en mode production
- Comment configurer Nginx en tant que reverse proxy
- Comment connecter gratuitement un certificat SSL via Let's Encrypt
1. Préparation du VPS et installation de l'environnement nécessaire
1.1 Configuration initiale du serveur
Supposons que vous ayez loué un VPS (par exemple, chez DigitalOcean, Timeweb ou Reg.ru) avec Ubuntu 22.04. Connectez-vous d'abord au serveur via SSH :
ssh root@votre-ip-serveurCréez un utilisateur séparé (plus sûr que de travailler en tant que root) :
adduser deployerusermod -aG sudo deployersu - deployer1.2 Installation de Node.js et npm
Pour une application TypeScript, nous aurons besoin de Node.js version 18 ou 20 (LTS). Utilisons le PPA officiel de NodeSource :
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -sudo apt-get install -y nodejsVérifions l'installation :
node -vnpm -v1.3 Installation globale de TypeScript (optionnelle)
Bien que TypeScript soit généralement une dépendance locale du projet, pour vérifier rapidement la compilation, vous pouvez l'installer globalement :
sudo npm install -g typescript1.4 Clonage de votre projet
Copiez le dépôt depuis GitHub/GitLab sur le serveur :
git clone https://github.com/votre-utilisateur/votre-projet.gitcd votre-projetInstallez les dépendances :
npm install2. Build TypeScript et configuration de PM2
2.1 Compilation de TypeScript en JavaScript
Votre fichier package.json doit contenir un script de build. Il ressemble généralement à ceci :
{ "scripts": { "build": "tsc", "start": "node dist/index.js", "dev": "ts-node-dev src/index.ts" }}Lancez le build :
npm run buildAprès exécution, le dossier dist contiendra le code JavaScript compilé. Si vous utilisez Next.js, la commande de build sera npm run build (Next.js compile lui-même le TypeScript).
2.2 Installation et configuration de PM2
PM2 est un gestionnaire de processus qui maintient votre application en cours d'exécution, la redémarre en cas de panne et gère les logs. Installez-le :
sudo npm install -g pm2Lancez l'application via PM2 (indiquez le chemin vers le fichier compilé) :
pm2 start dist/index.js --name "my-typescript-app"Si vous utilisez Next.js, la commande sera différente :
pm2 start npm --name "next-app" -- startConfigurez le démarrage automatique de PM2 au redémarrage du serveur :
pm2 startup systemdpm2 saveMaintenant, votre application fonctionne sur un port local (par exemple, 3000). Rendons-la accessible via un nom de domaine.
3. Configuration de Nginx en tant que reverse proxy
3.1 Installation de Nginx
Blogs
Book Recommendations
Lire aussi
Travailler avec WebAssembly et PHP : de A à Z
Top des erreurs des développeurs Kotlin débutants : comment les éviter
Comment réussir un entretien C++ : les meilleures questions de niveau avancé
Les 10 meilleurs frameworks PHP pour le développement web avancé
Public, Private, Protected en PHP : le guide complet de l'encapsulation