


Le seul guide VPS dont vous aurez besoin : de la configuration à la production en étapes simples
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 :
- Exemple 2 : Choisissez les valeurs par défaut Sélectionnez les options par défaut ou effectuez vos modifications, puis appuyez sur Entrée :
(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 :
- Configurez une clé SSH.
- Utilisez un jeton d'accès personnel au lieu d'un mot de passe.
- 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 :
-
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
-
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!

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Le passage de C / C à JavaScript nécessite de s'adapter à la frappe dynamique, à la collecte des ordures et à la programmation asynchrone. 1) C / C est un langage dactylographié statiquement qui nécessite une gestion manuelle de la mémoire, tandis que JavaScript est dynamiquement typé et que la collecte des déchets est automatiquement traitée. 2) C / C doit être compilé en code machine, tandis que JavaScript est une langue interprétée. 3) JavaScript introduit des concepts tels que les fermetures, les chaînes de prototypes et la promesse, ce qui améliore la flexibilité et les capacités de programmation asynchrones.

Différents moteurs JavaScript ont des effets différents lors de l'analyse et de l'exécution du code JavaScript, car les principes d'implémentation et les stratégies d'optimisation de chaque moteur diffèrent. 1. Analyse lexicale: convertir le code source en unité lexicale. 2. Analyse de la grammaire: générer un arbre de syntaxe abstrait. 3. Optimisation et compilation: générer du code machine via le compilateur JIT. 4. Exécuter: Exécutez le code machine. Le moteur V8 optimise grâce à une compilation instantanée et à une classe cachée, SpiderMonkey utilise un système d'inférence de type, résultant en différentes performances de performances sur le même code.

Les applications de JavaScript dans le monde réel incluent la programmation côté serveur, le développement des applications mobiles et le contrôle de l'Internet des objets: 1. La programmation côté serveur est réalisée via Node.js, adaptée au traitement de demande élevé simultané. 2. Le développement d'applications mobiles est effectué par le reactnatif et prend en charge le déploiement multiplateforme. 3. Utilisé pour le contrôle des périphériques IoT via la bibliothèque Johnny-Five, adapté à l'interaction matérielle.

J'ai construit une application SAAS multi-locataire fonctionnelle (une application EdTech) avec votre outil technologique quotidien et vous pouvez faire de même. Premièrement, qu'est-ce qu'une application SaaS multi-locataire? Les applications saas multi-locataires vous permettent de servir plusieurs clients à partir d'un chant

Cet article démontre l'intégration frontale avec un backend sécurisé par permis, construisant une application fonctionnelle EdTech SaaS en utilisant Next.js. Le frontend récupère les autorisations des utilisateurs pour contrôler la visibilité de l'interface utilisateur et garantit que les demandes d'API adhèrent à la base de rôles

JavaScript est le langage central du développement Web moderne et est largement utilisé pour sa diversité et sa flexibilité. 1) Développement frontal: construire des pages Web dynamiques et des applications à une seule page via les opérations DOM et les cadres modernes (tels que React, Vue.js, Angular). 2) Développement côté serveur: Node.js utilise un modèle d'E / S non bloquant pour gérer une concurrence élevée et des applications en temps réel. 3) Développement des applications mobiles et de bureau: le développement de la plate-forme multiplateuse est réalisé par réact noral et électron pour améliorer l'efficacité du développement.

Les dernières tendances de JavaScript incluent la montée en puissance de TypeScript, la popularité des frameworks et bibliothèques modernes et l'application de WebAssembly. Les prospects futurs couvrent des systèmes de type plus puissants, le développement du JavaScript côté serveur, l'expansion de l'intelligence artificielle et de l'apprentissage automatique, et le potentiel de l'informatique IoT et Edge.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel