
Ich weiß, dass einige von Ihnen vielleicht denken, dass das hier ein wenig vom Thema abkommt, aber ich bin nicht sicher, ob es am Server ODER an meiner Konfigurationsdatei liegt, also …
Ich habe ein React.js-Projekt erstellt, aber es muss serverseitig gerendert werden. Also muss ich jetzt von CRA zu next.js migrieren. Das Problem: Ich muss meine Website auf einen Apache-Webserver hochladen. Soweit ich Google entnehmen konnte, muss ich node.js und pm2 (neueste Versionen) installieren und Apache für den Reverse-Proxy konfigurieren. Außerdem habe ich ein Ökosystem für pm2 erstellt (ich denke, das war notwendig). Im Moment sieht es so aus:
module.exports = {
apps : [{
name: "nextjs-app",
script: "npm",
args: "run build",
env: {
NODE_ENV: "production"
}
}]
};
aber als ich „pm2 start npm -- start“ ausführte, erhielt ich vom Terminal die folgende Antwort:
pm2 start npm -- start
[PM2] Spawning PM2 daemon with pm2_home=/home/georgianar/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /usr/local/bin/npm in fork_mode (1 instance)
[PM2] Done.
aber wenn ich versuche, die Liste der Prozesse anzuzeigen, gibt es keine, und wenn der Benutzer versucht, die Website aufzurufen, zeigt das Site-Protokoll, dass auf Port 3000 kein Dienst vorhanden ist
AH01114: HTTP: failed to make connection to backend: localhost
Und
(111)Connection refused: AH00957: http: attempt to connect to 127.0.0.1:3000 (localhost:3000) failed
also, ich bin nicht sicher, ob es am Server liegt oder ob meine Konfigurationsdatei dieses Chaos verursacht. Irgendwelche Ideen?
Antwort1
Stellen Sie zunächst sicher, dass die folgenden Befehle in Ihrem package.json vorhanden sind
"scripts": {
"start": "next start -p 3000"
}
Verwenden Sie den folgenden Befehl
pm2 start yarn --name "nextjs-app" --interpreter bash -- start
Detaillierte Prozessinformationen können Sie ausdrucken mit
pm2 show nextjs-app
Konfigurieren Sie PM2 so, dass es beim Serverstart gestartet wird. Führen Sie den folgenden Befehl aus alsWurzel
pm2 startup
Speichern Sie die pm2-Prozessliste, um sie nach einem Serverneustart erneut zu starten
pm2 save