2015-02-20 21 views
8

Ich habe mit vNext ein wenig herumgespielt und die Beispielprojekte laufen lassen. Ich habe eine Ubuntu-VM erstellt, die erforderlichen Pakete installiert und alles mit k run (Konsolen-App) und k kestrel (MVC-App) ausgeführt.vNext auf Apache Webserver

Nun zum nächsten Schritt: Ausführen mehrerer Projekte auf einem dedizierten Webserver. Kestrel ist (zumindest für jetzt) ​​nur ein einfacher Webserver für vNext. Die Chancen, dass es sich zu einem ausgewachsenen Webserver entwickeln wird, erscheinen klein.

Also möchte ich das Ding auf Apache laufen lassen. Ich denke, Mod-Mono würde irgendwo ins Spiel kommen. Im Moment glaube ich nicht, dass es das neueste vNext-Framework unterstützt. Auf der anderen Seite, ich denke, wir werden die KRE irgendwo brauchen.

Irgendwelche Neuigkeiten, dass wir bald ASP.NET-Projekte auf Apache ausführen werden? Hat jemand es geschafft?

Ich bin sehr fasziniert von der Idee der plattformübergreifenden .NET-Anwendungen. Mein jetziger Arbeitgeber investiert sehr viel in Projekte mit plattformübergreifender und Open-Source-Software. Ich würde gerne etwas Wissen im Voraus sammeln und versuchen, den Weg für die Migration zu Linux-Webservern anstelle von Windows-Servern zu ebnen.

Danke!

+0

Ok ... Ich habe immer noch keine Lösung für Apache gefunden. Allerdings ist nginx eine gute Alternative zu Apache und Sie können es so konfigurieren, dass es sich auf den Kestrel-Server überträgt: http://pkula.blogspot.be/2015/01/production-ready-aspnet-5-mvc-vnext-on .html Es ist alles andere als perfekt, aber es ist ein Schritt in die richtige Richtung. – Nullius

Antwort

3

Ich bin glücklich, dort zu sehen viele von uns versuchen vNext und läuft außerhalb Windows-Umgebung :)

Natürlich erhalten Sie Kestrel richtig sind. Es wird wahrscheinlich wie ein einfacher Webserver enden, so wie es jetzt im node.js Hello World Tutorial funktioniert. Sie können versuchen, es als eine Produktionsumgebung zu verwenden, indem es im Hintergrund Running K Kestrel in the background auf einem Webserver ausgeführt wird und dann Anfragen vorbei Apache Proxy kestrel

Virtual Beispiel proxying Anfragen gestartet Kestrel auf *: 5004

<VirtualHost *:80> 
ServerName example.com:80 

ProxyRequests On 

<Proxy *> 
Order deny,allow 
Allow from all 
</Proxy> 

ProxyPreserveHost Off 

ProxyPass/http://localhost:5004 
ProxyPassReverse/http://localhost:5004 

</VirtualHost> 

Aber ich empfehle obige Lösung nicht. Es gibt ein Problem mit dem Turmfalken, der verhindert, dass Sie eine Ausgabe außerhalb von tty senden und daher können Sie sie beim Start nicht mit einem Startskript ausführen. Die Website, die Sie gestartet haben, wird so lange dauern, wie Ihr Server online bleibt :)

Ich empfehle, Docker zu verwenden. Es ist eine Art Wrapper für ASP.NET, der von Microsoft unterstützt wird. Sie könnten das in dieser Phase besser nutzen.

Hier weitere Informationen

http://blogs.msdn.com/b/webdev/archive/2015/01/14/running-asp-net-5-applications-in-linux-containers-with-docker.aspx

+1

Sorry, aber ich verstehe nicht, wie Docker helfen kann, Asp.net 5 auf Apache auszuführen. Könnten Sie bitte mehr erklären? – Donald

+1

Hallo @ Donald Ich sehe was du denkst. Die Sache ist - Sie können nicht * direkt * ASP.NET 5-Anwendung unter Apache-Webserver ausführen. Sie können einen Apache-Proxy erstellen und Anforderungen an den Kestrel-Server übergeben. Aber die empfohlene Lösung ist die Verwendung von Docker insted. Unter dem Link, den ich angehängt habe, finden Sie ein nettes Tutorial, das zeigt, wie es unter Linux-Umgebung funktioniert. Sie können auch http: //www.mono-project überprüfen.com/docs/about-mono/compatibility/das ist eine OpenSource-Implementierung von .NET, wenn sie 4.6 unterstützen, ist es wahrscheinlich möglich, Anwendungen unter Apache auszuführen –

Verwandte Themen