Maison >interface Web >js tutoriel >Le seul guide VPS dont vous aurez besoin : de la configuration à la production en étapes simples

Le seul guide VPS dont vous aurez besoin : de la configuration à la production en étapes simples

Patricia Arquette
Patricia Arquetteoriginal
2024-12-26 11:30:17212parcourir

Configurer un VPS prêt pour la production est beaucoup plus simple que je ne le pensais - Meilleur guide sur la façon de déployer du code backend en production

  • ?Connectez-vous : https://www.subham.online
  • ?GitHub : https://github.com/Subham-Maity
  • ?Twitter : https://twitter.com/TheSubhamMaity
  • ?LinkedIn : https://www.linkedin.com/in/subham-xam
  • ?Insta : https://www.instagram.com/subham_xam

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 :

  • Node.js
  • Partez
  • Démarrage de printemps (Java)
  • Rouille
  • Django
  • Laravel
  • Flacon
  • Ou tout autre serveur

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️⃣ Première étape - Connectez le VPS

✅ 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 :

  • Adresse IP :568.82.48.166
  • Nom d'utilisateur : root
  • Mot de passe : Subham@Xam_08

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.


2️⃣ Deuxième étape : Préparez votre système

✅ 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 :

  • Exemple 1 : Confirmer les actions Sélectionnez « OK » à l'aide de la touche Tab et appuyez sur Entrée :

The Only VPS Guide You

  • Exemple 2 : Choisissez les valeurs par défaut Sélectionnez les options par défaut ou effectuez vos modifications, puis appuyez sur Entrée :

The Only VPS Guide You

(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.


3️⃣ Troisième étape - Installer les dépendances et le référentiel de clonage avec une authentification appropriée

✅ 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 :

  1. Configurez une clé SSH.
  2. Utilisez un jeton d'accès personnel au lieu d'un mot de passe.
  3. Utilisez GitHub CLI (gh) pour l'authentification.

Pour obtenir des conseils, reportez-vous à ce guide.

✅ 4. Cloner le référentiel

  • Copiez le lien HTTPS depuis GitHub :

    Exemple :

    The Only VPS Guide You

  • 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 :

    • Choisissez GitHub.com.
    • Sélectionnez HTTPS pour le protocole.
    • Authentifiez Git à l'aide de vos informations d'identification GitHub en sélectionnant Se connecter avec un navigateur Web.

    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:~#
    
    • Copiez le code à usage unique et ouvrez le lien dans votre navigateur.
    • Connectez-vous à votre compte GitHub et collez le code.
    • Retournez sur votre terminal :
        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  

4️⃣ Quatrième étape – Configurez votre projet

✅ 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 :

  • Ouvrez un nouveau fichier nommé .env dans le répertoire de votre projet :
    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.  
  • Ajoutez vos variables au format suivant :
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  
  • Enregistrez et quittez l'éditeur :
    • Appuyez sur Ctrl O, puis Entrée pour enregistrer.
    • Appuyez sur Ctrl X pour quitter.

✅ 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 :


5️⃣ Cinquième étape – Démarrez votre projet

Installer PM2

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

Démarrer votre candidature

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


? Gérer les problèmes courants

Pare-feu bloquant votre site

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.

Mise à jour des règles de pare-feu

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  

Règles de pare-feu persistantes

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  

Gestion des processus PM2

  1. 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.

  2. 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 :

The Only VPS Guide You

568.82.48.166  
root  
Subham@Xam_08  

Cela garantit qu'aucun conflit ne se produit avec des processus en double.

The Only VPS Guide You


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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn