Node.js ist eine sehr leistungsstarke JavaScript-Ausführungsumgebung, die JavaScript-Code serverseitig ausführen kann. Es verfügt über einen effizienten ereignisgesteuerten Mechanismus und ein nicht blockierendes I/O-Modell, was es ideal für den Aufbau skalierbarer Netzwerkanwendungen macht.
Wenn Sie jedoch eine Node.js-Anwendung unter Linux starten, können Probleme auftreten, z. B. dass Sie nicht auf die Anwendung oder den Port zugreifen können. Diese Probleme können die Leistung und Verfügbarkeit Ihrer Anwendung beeinträchtigen. In diesem Artikel untersuchen wir, warum diese Probleme auftreten und wie sie behoben werden können.
Wenn Ihre Anwendung versucht, einen bestimmten Port unter Linux abzuhören, kann es sein, dass ein Port belegt ist. Dies kann daran liegen, dass eine andere Anwendung den Port belegt oder die vorherige Anwendung nicht ordnungsgemäß geschlossen wurde, sodass der Port weiterhin belegt bleibt.
Sie können den Prozess, der den Port belegt, mit dem folgenden Befehl überprüfen:
sudo lsof -i :<port>
Dieser Befehl gibt die PID und den Prozessnamen des Prozesses zurück, der den Port belegt. Sie können den Prozess mit dem folgenden Befehl beenden:
sudo kill <PID>
Wenn Sie den Prozess nicht beenden können, können Sie versuchen, die Beendigung mit der Option „-9“ zu erzwingen:
sudo kill -9 <PID>
sudo ufw allow <port>/tcp
sudo firewall-cmd --zone=public --add-port=<port>/tcp --permanent
Sie können die richtige IP-Adresse in Ihrem Anwendungscode angeben, zum Beispiel:
const http = require('http'); const hostname = '0.0.0.0'; // or your IP const port = 3000; // or your port const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World!\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
Im obigen Code setzen wir den Hostnamen auf „0.0.0.0“. Das bedeutet, dass wir die Anwendung an alle verfügbaren IP-Adressen binden, um den Zugriff auf die Anwendung sicherzustellen.
DNS-Auflösungsfehlercat /etc/resolv.conf
Dieser Befehl zeigt die Konfiguration des aktuellen DNS-Servers an. Wenn Sie einen öffentlichen DNS-Server wie Google DNS oder Cloudflare DNS verwenden, können Sie ihn zu Ihrer Netzwerkkonfiguration hinzufügen. Sie können die Datei „/etc/resolv.conf“ bearbeiten und den folgenden Eintrag hinzufügen:
nameserver 8.8.8.8 # Google DNS nameserver 1.1.1.1 # Cloudflare DNS
Beim Starten einer Node.js-Anwendung unter Linux können verschiedene Probleme auftreten, aber durch sorgfältige Prüfung und Fehlerbehebung können Sie diese Probleme beheben und sicherstellen, dass Ihre Anwendung ordnungsgemäß ausgeführt wird.
Das obige ist der detaillierte Inhalt vonBeim Start unter Linux kann nicht auf nodejs zugegriffen werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!