Seien wir ehrlich... Haben Sie genug von Bereitstellungs-Tutorials, die Sie hängen lassen? Ja, ich auch.
Sehen Sie, mir ist etwas aufgefallen, als ich anderen Entwicklern geholfen habe – die meisten Anleitungen überspringen die kleinen, aber superwichtigen Schritte. Weißt du, was als nächstes passiert? Sie stecken um Mitternacht mit Fehlern fest und öffnen 50 Browser-Tabs, um herauszufinden, was schief gelaufen ist.
Deshalb habe ich diesen Leitfaden erstellt. Ich begleite Sie durch JEDEN einzelnen Schritt der Bereitstellung Ihres Servers. Ob Sie arbeiten mit:
Ich werde auf die kleinen Details eingehen, die Menschen normalerweise aus der Fassung bringen.
Stellen Sie sich das wie Ihren Freund vor, der neben Ihnen sitzt und Ihnen bei der Bereitstellung Ihres Servers hilft, ohne sich die Haare auszureißen?.
Irgendwo steckengeblieben? Kommentiere einfach unten oder schreibe mir direkt eine Nachricht. Ich antworte tatsächlich!
Sind Sie bereit, Ihren Server richtig bereitzustellen? Fangen wir an!
✅ 1. Wählen Sie einen Hosting-Anbieter
Kaufen Sie einen VPS-Plan bei einem beliebigen Hosting-Anbieter.
✅ 2. Holen Sie sich die Anmeldeinformationen
Unabhängig davon, ob Sie freiberuflich tätig sind oder in einem Büro arbeiten, benötigen Sie drei Dinge:
Beispiel:
568.82.48.166 root Subham@Xam_08
✅ 3. Über Terminal verbinden
Öffnen Sie Ihr Terminal und geben Sie Folgendes ein:
ssh root@568.82.48.166
✅ 4. Überprüfen Sie die Verbindung
Sie sehen eine Meldung wie diese:
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])?
Geben Sie einfach „Ja“ ein.
✅ 5. Geben Sie das Passwort ein
Als nächstes wird Folgendes angezeigt:
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
Fügen Sie Ihr Passwort ein (Subham@Xam_08) und drücken Sie die Eingabetaste.
(Hinweis: Das Terminal zeigt beim Eingeben des Passworts keine Zeichen an. Drücken Sie einfach die Eingabetaste.)
✅ 6. Erfolg!
Wenn alles korrekt ist, sehen Sie:
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:~#
Was bedeutet root@ajfaljflaf:~#?
Diese Eingabeaufforderung bestätigt, dass Sie mit dem Hostnamen ajfaljflaf als Root-Benutzer am Server angemeldet sind. Sie können jetzt Befehle ausführen und Ihren Server einrichten.
✅ 1. Räumen Sie das Terminal
Geben Sie nach der Anmeldung Folgendes ein:
568.82.48.166 root Subham@Xam_08
✅ 2. Verzeichnisse überprüfen
Überprüfen Sie Ihr aktuelles Verzeichnis und listen Sie die Dateien auf:
ssh root@568.82.48.166
Beispielausgabe:
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. Aktualisieren Sie die Paketliste
Aktualisieren Sie die Paketliste, um sicherzustellen, dass die neuesten Updates verfügbar sind:
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
Beispielausgabe:
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:~#
Wenn Sie auf Warnungen oder Fehler stoßen, überprüfen Sie diese, um sicherzustellen, dass sie keine wichtigen Updates blockieren.
✅ 4. Installierte Pakete aktualisieren
Verfügbare Updates und Upgrades installieren:
clear
Beispielaufforderung:
pwd ls
Geben Sie „Ja“ ein, um fortzufahren.
✅ 5. Aktualisierungsaufforderungen bearbeiten
Während des Upgrades werden möglicherweise Konfigurationsaufforderungen angezeigt:
(Hinweis: Zum Umschalten der Option müssen Sie die Tabulatortaste verwenden)
Upgrade-Abschluss überprüfen
Nach erfolgreichem Upgrade werden Meldungen zum Neustart der Dienste angezeigt:
root@hdicj8psx6:~# pwd /root root@hdicj8psx6:~# ls snap
Damit wird bestätigt, dass die Dienste bei Bedarf neu gestartet oder verschoben wurden.
✅ 1. Node.js installieren
Um Node.js zu installieren, führen Sie Folgendes aus:
sudo apt update
Dadurch wird Node.js installiert.
✅ 2. Git installieren
Um Git zu installieren, führen Sie Folgendes aus:
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. Pushen Sie Ihr Repository auf GitHub
Wenn Ihr Code noch nicht an GitHub übertragen wurde, führen Sie die folgenden Schritte auf Ihrem lokalen Computer aus:
sudo apt upgrade
Zusätzliche nützliche Befehle:
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.
Hinweis: Wenn bei der Authentifizierung Fehler auftreten, müssen Sie Folgendes tun:
Eine Anleitung finden Sie in diesem Leitfaden.
✅ 4. Das Repository klonen
Kopieren Sie den HTTPS-Link von GitHub:
Beispiel:
Klonen Sie das Repository:
568.82.48.166 root Subham@Xam_08
Wenn Sie zum ersten Mal eine Verbindung herstellen, wird eine Meldung wie diese angezeigt:
ssh root@568.82.48.166
✅ 5. Authentifizierungsprobleme lösen
Wenn der obige Fehler auftritt, führen Sie die folgenden Schritte aus:
Installieren Sie die GitHub-CLI (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])?
Authentifizierung mit GitHub:
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
Folgen Sie den Anweisungen:
Beispielaufforderungen:
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. SSH-Schlüssel zu GitHub hinzufügen
Lesen Sie diese Anleitung, um Ihren SSH-Schlüssel zu GitHub hinzuzufügen.
✅ 7. Das Repository erneut klonen
Sobald der SSH-Schlüssel hinzugefügt wurde, klonen Sie Ihr Repository:
pwd ls
✅ 8. Klonen überprüfen
Überprüfen Sie nach dem Klonen, ob das Repository vorhanden ist:
root@hdicj8psx6:~# pwd /root root@hdicj8psx6:~# ls snap
✅ 1. Navigieren Sie zu Ihrem Projektverzeichnis
Listen Sie zunächst die Verzeichnisse auf, in denen Sie Ihr Projekt finden möchten:
sudo apt update
Dann wechseln Sie in Ihren Projektordner:
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
Tipp: Geben Sie die ersten 2-3 Buchstaben Ihres Projektordners ein und drücken Sie die Tab-Taste, um den Namen automatisch zu vervollständigen.
✅ 2. Projektabhängigkeiten installieren
Führen Sie den folgenden Befehl in Ihrem Projektordner aus, um die erforderlichen Pakete zu installieren:
sudo apt upgrade
Dies kann je nach Größe des Projekts einige Minuten dauern.
✅ 3. Richten Sie die .env-Datei ein
Wenn Ihr Projekt keine .env-Datei hat (normalerweise in nicht privaten Repositorys ausgeschlossen), können Sie eine erstellen, um Ihre Umgebungsvariablen zu speichern:
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. .env-Konfiguration überprüfen
Überprüfen Sie, ob Ihre .env-Datei vorhanden und ordnungsgemäß konfiguriert ist:
sudo apt install nodejs
✅ 5. Führen Sie die Anwendung aus
Starten Sie abschließend Ihre Bewerbung mit:
sudo apt install git
ODER, wenn Sie ein Framework oder Skript verwenden, befolgen Sie dessen spezifischen Befehl, wie zum Beispiel:
568.82.48.166 root Subham@Xam_08
Hinweis: Wenn Fehler auftreten, überprüfen Sie die .env-Variablen, überprüfen Sie installierte Abhängigkeiten und suchen Sie nach fehlenden Konfigurationen.
Hier ist eine neu geschriebene Version des Inhalts mit besserer Struktur, Klarheit und Formatierung:
Damit Ihre Anwendung kontinuierlich läuft, können Sie PM2 verwenden, einen leistungsstarken Prozessmanager für Node.js-Anwendungen. Es ermöglicht Neustarts ohne Ausfallzeiten und vereinfacht DevOps-Aufgaben.
Führen Sie den folgenden Befehl aus, um PM2 global zu installieren:
ssh root@568.82.48.166
Wenn Sie NestJS verwenden, befolgen Sie diese detaillierte Anleitung, um Ihre NestJS-App mit PM2 bereitzustellen:
? Stellen Sie die NestJS-App mit PM2 auf einem Linux-Ubuntu-Server bereit
Wenn Sie mit einer Node.js-Anwendung arbeiten, können Sie sich auf diese Anleitung beziehen:
? So starten Sie die Node.js-App mit PM2
Sobald Ihr Setup fertig ist, starten Sie Ihren Server, indem Sie Folgendes eingeben:
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])?
Öffnen Sie Ihren Browser und navigieren Sie zu:
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
Zum Beispiel:
http://404.89.46.183:3333/xam
Wenn auf den Server nicht zugegriffen werden kann, liegt möglicherweise ein Firewall-Problem vor. Überprüfen Sie zunächst die Firewall-Regeln mit:
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:~#
Dieser Befehl listet alle aktuellen Firewall-Regeln auf. Wenn Port 3333 nicht aufgeführt ist oder Fehler auftreten, können Sie das Problem identifizieren, indem Sie auf Plattformen wie Stack Overflow oder Tools wie GPT, Claude, Copilot oder Llama suchen. Sie liefern häufig detaillierte Einblicke zur Behebung spezifischer Probleme.
Wenn die Firewall eingehenden Datenverkehr auf Port 3333 blockiert, aktualisieren Sie die Regeln mit:
clear
Befehlsaufschlüsselung:
-A INPUT: Füge eine Regel an die INPUT-Kette an.
-p tcp: Geben Sie das TCP-Protokoll an.
--dport 3333: Definieren Sie Port 3333.
-j AKZEPTIEREN: Datenverkehr auf diesem Port zulassen.
Überprüfen Sie nun die aktualisierten Regeln:
pwd ls
Sie sollten etwa Folgendes sehen:
root@hdicj8psx6:~# pwd /root root@hdicj8psx6:~# ls snap
Um sicherzustellen, dass die Firewall-Regeln nach einem Neustart erhalten bleiben, installieren Sie das Paket „netfilter-persistent“:
sudo apt update
Speichern Sie die Regeln mit:
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
Starten Sie Ihre Bewerbung mit PM2
Verwenden Sie den folgenden Befehl, um Ihren Server mit PM2 zu starten:
sudo apt upgrade
Das Flag -f zwingt PM2, den Prozess neu zu starten.
Nicht verwendete Prozesse löschen
Wenn Prozesse aus früheren Läufen vorhanden sind, können Sie diese anhand ihrer IDs löschen:
568.82.48.166 root Subham@Xam_08
Dadurch wird sichergestellt, dass keine Konflikte mit doppelten Prozessen auftreten.
Jetzt sollte Ihre Anwendung reibungslos laufen! ?
_Hinweis: Ich werde den Blog mit allen Informationen zu SSL, Nginx und allen anderen damit zusammenhängenden Dingen aktualisieren _
Das obige ist der detaillierte Inhalt vonDer einzige VPS-Leitfaden, den Sie brauchen: Von der Einrichtung bis zur Produktion in einfachen Schritten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!