Ghost-Blog als Unterordner der Website auf dem Knoten http-server ausführen

8

Verzeihen Sie zuerst, dass ich Joyents Smartmachine nicht verstanden habe. Ich führe für dieses Szenario eine kostenlose Instanz NodeJS dev-Ebene smartmachine.

Ich betreibe eine Website unter [path]/server/public/ im Dateisystem über Ссылка und möchte gleichzeitig Ghost Blog bei [path]/server/public/blog/ , beide auf Port 80.

Ist das möglich? Wie würde ich es erreichen?

    
jsejcksn 16.12.2014, 20:25
quelle

3 Antworten

7

Die Einrichtung eines Thin Wrappers mit Express kann eine gute Lösung sein (wie Paul es empfiehlt), kann aber ein Chaos sein, wenn Sie mit einer großen Anwendung mit vielen "verschiedenen Diensten" enden.

Stattdessen sollten Sie einen Proxy (zB NGINX) zu all meinen Diensten verwenden.

Mit dieser Lösung, wenn ein Dienst fehlschlägt, der Rest nicht, da sie entkoppelt sind.

Sie können Port 80 abhören und intern zu jedem Dienst: port.

Etwas wie:

%Vor%     
jmingov 18.01.2015, 18:01
quelle
3

Wenn Ihre andere Website eine express basierte Website ist, ist es wahrscheinlich am einfachsten, Ihre Ghost-App in den gleichen Quellbaum (in einem Unterordner vielleicht) aufzunehmen. Express-Apps können als Middleware zu anderen Express-Apps gemountet werden, so dass Sie dann eine Route zu Ihrer Hauptseite hinzufügen können:

%Vor%     
Paul 16.12.2014 20:33
quelle
2

Angenommen, Sie haben "Installieren von zip (am schnellsten und am besten für Blogger)" von Ссылка gefolgt und liefern statischen Inhalt von / public / mit http-server.

Meine Lösung besteht darin, den Express-Server von Ghost für die Bereitstellung Ihrer Inhalte zu verwenden:

Laden Sie Ghost.zip herunter und entpacken Sie es unter [path]/server/

Öffnen Sie die Datei config.js Ihres Ghosts und ändern Sie die URL in der Entwicklung von Ссылка nach Ссылка

Öffnen Sie nun die Datei index.js im selben Verzeichnis und fügen Sie Folgendes hinzu:

parentApp.use(express.static(__dirname + '/public'));

nach: parentApp = express();

wobei '/ public' das Verzeichnis ist, das Ihren statischen Inhalt enthält.

Nun, wenn Sie zu Ссылка gehen, werden Sie Ihre Website finden und Ihr Blog wird unter Ссылка

Um zur Produktion zu wechseln, müssen Sie die entsprechenden Änderungen vornehmen und mit NODE_ENV=production npm start beginnen. Um zu Port 80 zu wechseln, müssen Sie nur den Port innerhalb von config.js ändern, was sowohl Ihrer Site als auch dem Blog auf 80 dient. Dies wird Ihnen offensichtlich ein unzureichendes Berechtigungsproblem geben und es gibt eine Menge Tutorials, die Ihnen zeigen, wie Sie es einrichten Node.js auf Port 80 folgt dem.

    
Rahat Mahbub 19.01.2015 05:44
quelle

Tags und Links