Anweisungen zum Einrichten von IIS und jRuby

8

Hat jemand klare Anweisungen zum Einrichten von jRuby für die Arbeit mit IIS?

Bearbeiten:

Was ich suche, ist eine Schritt-für-Schritt-Anleitung, um eine Ruby on Rails-Anwendung zu erhalten, die unter Windows mit IIS und jRuby arbeitet. Der Grund dafür ist, dass ich nichts anderes als "Linux benutzen" finden kann, wenn ich die Frage in der Wildnis stelle. Für die meisten Menschen ist Windows die primäre Entwicklungs- und Implementierungsumgebung, sodass die Verwendung eines Linux-basierten Servers nicht in Frage kommt. Auch IIS ist in Windows enthalten und bietet eine hervorragende Integration mit Active Directory, so dass die Verwendung von Apache nicht in Frage kommt.

Letztlich ist die Verwendung von WAR-Dateien ein Alptraum, bitte fügen Sie Anweisungen zur Bereitstellung einer Rails-App bei, indem Sie einfach die Dateien oder etwas anderes kopieren und dann WAR-Dateien verwenden.

    
rip747 06.07.2009, 13:34
quelle

2 Antworten

10

Ist es eigentlich nur eine Rails-App, die Sie auf IIS bereitstellen möchten, oder muss es JRuby sein? Wenn es nur Ruby on Rails und nicht JRuby ist, dann ist hier dein Schritt Schritt für Schritt . Aber wenn es JRuby ist, dass Sie mit IIS arbeiten wollen, suchen Sie nicht weiter. Unten sind die Schritte, denen ich gefolgt bin; Meine Umgebung ist IIS7 auf Windows 7 RC, Java 1.6.0_13.

  1. Zuerst habe ich JRuby von http://dist.codehaus.org/jruby/1.3.1/jruby-bin-1.3.1.tar.gz heruntergeladen.
  2. Dann habe ich das Archiv nach C:\JRuby .
  3. extrahiert
  4. Ich habe die Umgebungsvariable JRUBY_HOME auf c:\JRuby\jruby-1.3.1 .
  5. gesetzt
  6. Ich habe %JRUBY_HOME%\bin zum Pfad hinzugefügt.

Ich werde die nächsten Schritte mit eingestreuten Bildschirmgreifern durchgehen.

Lassen Sie uns jruby ausführen, um zu bestätigen, dass es erfolgreich installiert wurde:

%Vor%

OK bis jetzt. Lassen Sie uns JRuby verwenden, um Rails zu installieren:

%Vor%

Lass uns eine Rails-App namens jror :

erstellen %Vor%

Lassen Sie uns WEBrick ausführen, um sicherzustellen, dass alles wie erwartet funktioniert:

%Vor%

Navigieren Sie zu http://localhost:3000/ und bestätigen Sie, dass Ihre Rails-Anwendung angezeigt wird.

Sicher genug, da ist es.

Als nächstes müssen Sie einen Mechanismus einrichten, mit dem ausgewählte Anfragen an IIS an JRuby weitergeleitet werden. Um dies zu tun, wird ein URL Rewriter / Reverse Proxy benötigt. Ich habe dafür ISAPI Rewrite 3 verwendet. Sie können ein anderes Tool verwenden (z. B. Microsoft ISA). ISAPI Rewrite 3 ist ein guter Wert für 99 Dollar pro Server und kommt mit einer 45-tägigen Testphase.

Für ISAPI Rewrite 3 richte ich die Konfigurationsdatei httpd.conf wie folgt ein:

%Vor%

Damit werden URLs des Formulars angegeben

%Vor%

bis

%Vor%

Nun können wir zu http://localhost/jror/ navigieren und die Anfrage sehen, die von JRuby, aber über IIS geliefert wurde:

Und raten Sie mal: no wars ! Alle Änderungen an Ihrer Rails-App sollten direkt ausgeführt werden.

Hier ist ein Screenshot meiner Firebug-Konsole mit den Antwortheadern für diese Seite:

Natürlich ist das eher ein Entwicklungssetup als ein Produktionssetup - aber für den Produktionseinsatz werden Sie wahrscheinlich einen produktionsreifen Anwendungsserver wie Glassfish verwenden müssen, was die Verwendung dieser lästigen Kriege mit sich bringen wird ;-)

>

Wenn Sie auf einem Java-Anwendungsserver mithilfe von wars arbeiten möchten, können Sie den Warbler zum einfachen Packen Ihres App in einen Krieg.

Um auf Glassfish V3 ausgeführt zu werden, sind einige zusätzliche Schritte erforderlich. Der schnellste Weg zum Bereitstellen und Ausführen Ihrer Rails-Anwendungen besteht in der Verwendung des GlassFish-Gems, das nur aus dem GlassFish v3-Kernel ( Grizzly ) und einigen Dienstprogrammen besteht, was zu einem Minimum-Bloat-Setup führt. Lass uns den Edelstein installieren:

%Vor%

Führen Sie die Rails-App auf Glassfish aus:

%Vor%

Wie Sie sehen, laufen Sie auf Glassfish, aber es sind immer noch keine Kriege nötig! Auf der IIS-Seite sind keine Änderungen erforderlich, mit Ausnahme von (in httpd.conf in meiner Konfiguration), wobei der Proxy so geändert wird, dass er auf die IP-Adresse und den Port verweist, die vom Glassfish-Server verwendet werden. Wenn Sie den ganzen Glassfish-Server installieren und Rails-Apps darauf ausführen möchten, können Sie auch diese Anweisungen vom Glassfish-Team. Sie befassen sich mit der Installation und Ausführung von Glassfish, dem Server, der Bereitstellung und Bereitstellung von Rails-Anwendungen und der Ausführung der Anwendungen im Produktionsmodus.

Hier müssen Sie War-Dateien für den vollständigen Glassfish-Server erstellen.

Install Warbler:

%Vor%

Run Warbler:

%Vor%

Puh!

    
Vinay Sajip 20.07.2009, 19:01
quelle
5

Sie müssen zuerst Tomcat installieren. Sehen Sie sich diese Anleitungen zum Einrichten von Tomcat zusammen mit IIS an.

Mit JRuby werden Sie WAR-Dateien erstellen. Legen Sie diese einfach in Tomcat's Webapps-Ordner ab und schon können Sie loslegen.

Update: Ok, Sie müssen zwei Technologien integrieren, die nicht zusammen verwendet werden sollten: IIS und JRuby. Das Gute ist, dass JRuby sowohl Java als auch Ruby ist und Sie das Beste aus beiden Welten verwenden können. Ruby ist produktiver und es macht Spaß, mit Code zu arbeiten, aber Java ist besser für die Bereitstellung geeignet (insbesondere wenn dies mit IIS getan werden muss). Mein Rat gilt also immer noch. Erstellen Sie eine WAR-Datei, installieren Sie Tomcat und stellen Sie dort die WAR-Datei bereit. Die Bereitstellung der WAR-Datei ist so einfach wie das Kopieren in den Ordner "webapps". Dies sind die Schritte, die Sie befolgen müssen:

  • Installieren Sie Tomcat
  • Integrieren Sie Tomcat mit IIS mithilfe des ISAPI-Plug-Ins (ich kann Ihnen helfen, wenn Sie weitere Informationen dazu benötigen)
  • Erstellen Sie eine WAR-Datei (Netbeans IDE kann das für Sie tun)
  • Kopieren Sie die WAR-Datei in den webapps-Ordner von Tomcat

Wenn Sie WAR-Dateien immer noch nicht verwenden möchten, werfen Sie einen Blick auf Blog-Spot . Es beschreibt, wie Sie RoR mit IIS ausführen können. Ich glaube, dass für JRuby das Verfahren genauso sein würde. Wie auch immer, ein CGI-Ansatz ist der einzige Weg, wenn Sie WAR-Dateien vermeiden wollen.

    
kgiannakakis 06.07.2009 13:41
quelle

Tags und Links