Maison >interface Web >js tutoriel >Le seul guide VPS dont vous aurez besoin : de la configuration à la production en étapes simples
Soyons réalistes... Fatigué des tutoriels de déploiement qui vous laissent en suspens ? Ouais, moi aussi.
Écoutez, j'ai remarqué quelque chose en aidant d'autres développeurs : la plupart des guides sautent les étapes petites mais super importantes. Vous savez ce qui se passe ensuite ? Vous êtes coincé avec des erreurs à minuit, ouvrant 50 onglets de navigateur pour essayer de comprendre ce qui ne va pas.
C'est pourquoi j'ai créé ce guide. Je vais vous guider à travers CHAQUE étape du déploiement de votre serveur. Que vous travailliez avec :
Je couvrirai ces petits détails qui font généralement trébucher les gens.
Pensez à cela comme à votre ami assis à côté de vous, vous aidant à déployer votre serveur sans vous arracher les cheveux ?.
Vous êtes coincé quelque part ? Commentez ci-dessous ou envoyez-moi un message directement. En fait, je réponds !
Prêt à déployer votre serveur de la bonne manière ? Commençons !
✅ 1. Choisissez un fournisseur d'hébergement
Achetez un plan VPS auprès de n'importe quel fournisseur d'hébergement.
✅ 2. Obtenez les informations d'identification
Que vous soyez indépendant ou que vous travailliez dans un bureau, vous aurez besoin de trois choses :
Exemple :
568.82.48.166 root Subham@Xam_08
✅ 3. Connectez-vous via le terminal
Ouvrez votre terminal et tapez :
ssh root@568.82.48.166
✅ 4. Vérifiez la connexion
Vous verrez un message comme celui-ci :
The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established. ED33319 key fingerprint is SHA256:kLP3I9......QgQI. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?
Tapez simplement oui.
✅ 5. Entrez le mot de passe
Ensuite, il vous demandera :
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
Collez votre mot de passe (Subham@Xam_08) et appuyez sur Entrée.
(Remarque : le terminal n'affichera aucun caractère lors de la saisie du mot de passe. Appuyez simplement sur Entrée.)
✅ 6. Succès !
Si tout est correct, vous verrez :
Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Dec 21 11:56:39 PM UTC 2024 System load: 0.01555554443125 Processes: 292 Usage of /: 2.1% of 20000.02GB Users logged in: 0 Memory usage: 5% IPv4 address for kms160: 568.82.48.166 Swap usage: 0% * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s just raised the bar for easy, resilient and secure K8s cluster deployment. https://ubuntu.com/engage/secure-kubernetes-at-the-edge 137 updates can be applied immediately. To see these additional updates run: apt list --upgradable *** System restart required *** Last login: Mon Dec 9 06:55:53 2024 from 203.145.52.235 root@ajfaljflaf:~#
Que signifie root@ajfaljflaf:~# ?
Cette invite confirme que vous êtes connecté au serveur avec le nom d'hôte ajfaljflaf en tant qu'utilisateur root. Vous êtes maintenant prêt à exécuter des commandes et à configurer votre serveur.
✅ 1. Effacer le terminal
Une fois connecté, tapez :
568.82.48.166 root Subham@Xam_08
✅ 2. Vérifier les répertoires
Vérifiez votre répertoire actuel et listez les fichiers :
ssh root@568.82.48.166
Exemple de résultat :
The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established. ED33319 key fingerprint is SHA256:kLP3I9......QgQI. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?
✅ 3. Mettre à jour la liste des colis
Actualisez la liste des packages pour garantir les dernières mises à jour :
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
Exemple de résultat :
Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Dec 21 11:56:39 PM UTC 2024 System load: 0.01555554443125 Processes: 292 Usage of /: 2.1% of 20000.02GB Users logged in: 0 Memory usage: 5% IPv4 address for kms160: 568.82.48.166 Swap usage: 0% * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s just raised the bar for easy, resilient and secure K8s cluster deployment. https://ubuntu.com/engage/secure-kubernetes-at-the-edge 137 updates can be applied immediately. To see these additional updates run: apt list --upgradable *** System restart required *** Last login: Mon Dec 9 06:55:53 2024 from 203.145.52.235 root@ajfaljflaf:~#
Si vous rencontrez des avertissements ou des erreurs, examinez-les pour vous assurer qu'ils ne bloquent pas les mises à jour essentielles.
✅ 4. Mettre à niveau les packages installés
Installez les mises à jour et mises à niveau disponibles :
clear
Exemple d'invite :
pwd ls
Tapez oui pour continuer.
✅ 5. Gérer les invites de mise à niveau
Pendant la mise à niveau, vous pouvez voir des invites de configuration :
(Remarque : vous devez utiliser la touche de tabulation pour changer d'option)
Examiner l'achèvement de la mise à niveau
Une fois la mise à niveau réussie, vous verrez des messages concernant le redémarrage des services :
root@hdicj8psx6:~# pwd /root root@hdicj8psx6:~# ls snap
Cela confirme que les services ont été redémarrés ou différés si nécessaire.
✅ 1. Installer Node.js
Pour installer Node.js, exécutez :
sudo apt update
Cela installera Node.js.
✅ 2. Installer Git
Pour installer Git, exécutez :
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB] Ign:4 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy InRelease Err:5 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy Release 404 Not Found [IP: 185.125.190.80 443] Reading package lists... Done
✅ 3. Poussez votre référentiel vers GitHub
Si votre code n'est pas déjà transmis à GitHub, suivez ces étapes sur votre ordinateur local :
sudo apt upgrade
Commandes utiles supplémentaires :
124 upgraded, 13 newly installed, 0 to remove, and 0 not upgraded. Need to get 537 MB of archives. After this operation, 679 MB of additional disk space will be used.
Remarque : Si vous rencontrez des erreurs d'authentification, vous devez :
Pour obtenir des conseils, reportez-vous à ce guide.
✅ 4. Cloner le référentiel
Copiez le lien HTTPS depuis GitHub :
Exemple :
Cloner le dépôt :
568.82.48.166 root Subham@Xam_08
Si c'est la première fois que vous vous connectez, vous verrez un message comme celui-ci :
ssh root@568.82.48.166
✅ 5. Résoudre les problèmes d'authentification
Si vous rencontrez l'erreur ci-dessus, procédez comme suit :
Installez la CLI GitHub (gh) :
The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established. ED33319 key fingerprint is SHA256:kLP3I9......QgQI. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?
Authentifier avec GitHub :
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
Suivez les instructions :
Exemples d'invites :
Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Dec 21 11:56:39 PM UTC 2024 System load: 0.01555554443125 Processes: 292 Usage of /: 2.1% of 20000.02GB Users logged in: 0 Memory usage: 5% IPv4 address for kms160: 568.82.48.166 Swap usage: 0% * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s just raised the bar for easy, resilient and secure K8s cluster deployment. https://ubuntu.com/engage/secure-kubernetes-at-the-edge 137 updates can be applied immediately. To see these additional updates run: apt list --upgradable *** System restart required *** Last login: Mon Dec 9 06:55:53 2024 from 203.145.52.235 root@ajfaljflaf:~#
clear
✅ 6. Ajouter une clé SSH à GitHub
Reportez-vous à ce guide pour ajouter votre clé SSH à GitHub.
✅ 7. Clonez à nouveau le référentiel
Une fois la clé SSH ajoutée, clonez votre dépôt :
pwd ls
✅ 8. Vérifier le clonage
Après le clonage, vérifiez si le référentiel est présent :
root@hdicj8psx6:~# pwd /root root@hdicj8psx6:~# ls snap
✅ 1. Accédez à votre répertoire de projets
Commencez par lister les répertoires pour localiser votre projet :
sudo apt update
Ensuite, déplacez-vous dans votre dossier de projet :
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB] Ign:4 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy InRelease Err:5 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy Release 404 Not Found [IP: 185.125.190.80 443] Reading package lists... Done
Conseil : Tapez les 2-3 premières lettres du dossier de votre projet et appuyez sur la touche Tab pour compléter automatiquement le nom.
✅ 2. Installer les dépendances du projet
Exécutez la commande suivante dans le dossier de votre projet pour installer les packages nécessaires :
sudo apt upgrade
Cela peut prendre quelques minutes, selon la taille du projet.
✅ 3. Configurer le fichier .env
Si votre projet ne possède pas de fichier .env (généralement exclu des référentiels non privés), vous pouvez en créer un pour stocker vos variables d'environnement :
124 upgraded, 13 newly installed, 0 to remove, and 0 not upgraded. Need to get 537 MB of archives. After this operation, 679 MB of additional disk space will be used.
Restarting services... /etc/needrestart/restart.d/systemd-manager systemctl restart nginx.service polkit.service ssh.service udisks2.service Service restarts being deferred: systemctl restart networkd-dispatcher.service systemctl restart systemd-logind.service
✅ 4. Vérifier la configuration .env
Vérifiez si votre fichier .env existe et est correctement configuré :
sudo apt install nodejs
✅ 5. Exécutez l'application
Enfin, démarrez votre application en utilisant :
sudo apt install git
OU, si vous utilisez un framework ou un script, suivez sa commande spécifique, telle que :
568.82.48.166 root Subham@Xam_08
Remarque : Si vous rencontrez des erreurs, examinez les variables .env, vérifiez les dépendances installées et recherchez les configurations manquantes.
Voici une version réécrite du contenu avec une meilleure structure, clarté et mise en forme :
Pour que votre application continue de fonctionner en continu, vous pouvez utiliser PM2, un puissant gestionnaire de processus pour les applications Node.js. Il permet des redémarrages sans temps d'arrêt et simplifie les tâches DevOps.
Exécutez la commande suivante pour installer PM2 globalement :
ssh root@568.82.48.166
Si vous utilisez NestJS, suivez ce guide détaillé pour déployer votre application NestJS avec PM2 :
? Déployer l'application NestJS à l'aide de PM2 sur le serveur Linux Ubuntu
Si vous travaillez avec une application Node.js, vous pouvez vous référer à ce guide :
? Comment démarrer l'application Node.js avec PM2
Une fois votre configuration prête, démarrez votre serveur en tapant :
The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established. ED33319 key fingerprint is SHA256:kLP3I9......QgQI. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?
Ouvrez votre navigateur et accédez à :
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
Par exemple :
http://404.89.46.183:3333/xam
Si le serveur n'est pas accessible, cela peut être dû à un problème de pare-feu. Tout d'abord, vérifiez les règles du pare-feu avec :
Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Dec 21 11:56:39 PM UTC 2024 System load: 0.01555554443125 Processes: 292 Usage of /: 2.1% of 20000.02GB Users logged in: 0 Memory usage: 5% IPv4 address for kms160: 568.82.48.166 Swap usage: 0% * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s just raised the bar for easy, resilient and secure K8s cluster deployment. https://ubuntu.com/engage/secure-kubernetes-at-the-edge 137 updates can be applied immediately. To see these additional updates run: apt list --upgradable *** System restart required *** Last login: Mon Dec 9 06:55:53 2024 from 203.145.52.235 root@ajfaljflaf:~#
Cette commande répertorie toutes les règles de pare-feu actuelles. Si le port 3333 n'est pas répertorié ou si des erreurs se produisent, vous pouvez identifier le problème en effectuant une recherche sur des plates-formes telles que Stack Overflow ou des outils tels que GPT, Claude, Copilot ou Llama. Ils fournissent souvent des informations détaillées pour résoudre des problèmes spécifiques.
Si le pare-feu bloque le trafic entrant sur le port 3333, mettez à jour les règles avec :
clear
Répartition des commandes :
-A INPUT : Ajoutez une règle à la chaîne INPUT.
-p tcp : Spécifiez le protocole TCP.
--dport 3333 : Définissez le port 3333.
-j ACCEPTER : Autoriser le trafic sur ce port.
Vérifiez maintenant les règles mises à jour :
pwd ls
Vous devriez voir quelque chose comme ceci :
root@hdicj8psx6:~# pwd /root root@hdicj8psx6:~# ls snap
Pour garantir que les règles de pare-feu restent après un redémarrage, installez le package netfilter-persistent :
sudo apt update
Enregistrez les règles avec :
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB] Ign:4 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy InRelease Err:5 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy Release 404 Not Found [IP: 185.125.190.80 443] Reading package lists... Done
Démarrez votre application avec PM2
Utilisez la commande suivante pour démarrer votre serveur avec PM2 :
sudo apt upgrade
L'indicateur -f force PM2 à redémarrer le processus.
Supprimer les processus inutilisés
S'il existe des processus issus d'exécutions précédentes, vous pouvez les supprimer en utilisant leurs identifiants :
568.82.48.166 root Subham@Xam_08
Cela garantit qu'aucun conflit ne se produit avec des processus en double.
Maintenant, votre application devrait fonctionner correctement ! ?
_Remarque : je mettrai à jour le blog avec toutes les informations concernant SSL, nginx et toutes les autres choses connexes _
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!