XAMPP + RubyOnRails + fastcgi

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

XAMPP + RubyOnRails + fastcgi

Postby Nando » 25. September 2005 11:35

Das ist alles irgendwie sehr seltsam. Nachdem ich fastcgi installiert habe, und Apache neustarte, funktioniert es einwand frei. Es läd schön schnell und alles funktioniert so wie soll. Beende ich nun alle Anwendungen und starte Apache erneut kommt eine Fehlermeldung, wenn ich versuche einen Controller zuladen. Drück ich dann F5 funktioniert es wieder wie es soll. Das Spiel wiederholt sich jedesmal, wenn ich auf einen Link (zB "edit") klicke. Zuerst kommt die Fehlermeldung, dann lade ich neu und es funktioniert.

Der Code des Controllers:
Code: Select all
class PostController < ApplicationController
   scaffold :post
end


Wenn ich alle Einstellungen bezüglich fastcgi zurücksetze, läuft wieder alles. Nur läuft es eben ziemlich langsam.

Kann mir da jemand weiterhelfen? Danke schon mal im vorraus, Nando
Nando
 
Posts: 8
Joined: 25. September 2005 11:32

Postby Nando » 25. September 2005 11:52

Ich hab den Fehler:
Jedesmal wenn ich Ruby neugestartet habe, dann hat es einen neuen Ruby Prozess geöffnet. Also jedesmal muss ich zuerst den Prozess im Taskmanager killen, dann kann ich apache neustarten.

Weiss jemand, wie ich das bei der xampp_stop.exe anstellen muss, damit die auch jedes mal Ruby mit beendet?
Nando
 
Posts: 8
Joined: 25. September 2005 11:32

Postby deepsurfer » 25. September 2005 12:12

Weiss jemand, wie ich das bei der xampp_stop.exe anstellen muss, damit die auch jedes mal Ruby mit beendet?


benutz die apache_start.bat / apache_stop.bat editiere diese jeweils so das dein Ruby mit diesen BATCHfiles ausgeführt bzw. gestopt wird.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Nando » 25. September 2005 15:42

Danke für den Tipp, bin leider noch sehr unerfahren in solchen Sachen, aber irgendwie wirds schon klappen.
Nando
 
Posts: 8
Joined: 25. September 2005 11:32

Postby deepsurfer » 25. September 2005 17:19

Nando wrote:Danke für den Tipp, bin leider noch sehr unerfahren in solchen Sachen, aber irgendwie wirds schon klappen.


Wenn du dir die bat dateien anschaust wirst du schon dahinter kommen !
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Nando » 27. September 2005 20:26

Irgendwie krieg ich nicht hin. der Prozess der gestartet wirde heisst rubyw.exe, wie muss dann der Befehl heissen in der apache_stop.bat um den Prozess zu beenden?
Nando
 
Posts: 8
Joined: 25. September 2005 11:32

Postby deepsurfer » 27. September 2005 20:36

entweder gibt eine Readme mit den Kosnolen befehlen zu dieser rubyw.exe oder versuchsweise mal eine DOSbox (CMD) öffnen und dort
rubyw.exe --help
rubyw.exe /?

probieren
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Nando » 02. October 2005 09:59

Da ich es irgendwie nicht schaffe, muss ich ich euch doch noch mal nerven.

Leider zeigt es mir keine Befehle an, wie ich Rubyw.exe starten kann, wenn ich "ruby --help" eintippe. Es kommen zwar ein Haufen von Befehlen, aber keiner zum starten oder beenden.
Weiss da irgend jemand Rat?
Nando
 
Posts: 8
Joined: 25. September 2005 11:32

Postby deepsurfer » 02. October 2005 10:34

dann poste mal das rubyw.exe --help ich habs nicht hier.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Wiedmann » 02. October 2005 10:57

Leider zeigt es mir keine Befehle an, wie ich Rubyw.exe starten kann, wenn ich "ruby --help" eintippe. Es kommen zwar ein Haufen von Befehlen, aber keiner zum starten oder beenden.

Ruby kann man nicht starten oder stopen. Ruby ist ein Interpreter wie PHP, der ein Script, als Parameter übergegen, ausführt und sich dann beendet.

Das ganze läuft, analog zu PHP, normal über die CGI-Schnittstelle ab.

"rubyw.exe" ist wie "php-win" eine Interpreterversion die keinerlei Ausgaben erzeugt. Aber sonst Funktionsidentisch zu "ruby.exe".

Jedesmal wenn ich Ruby neugestartet habe, dann hat es einen neuen Ruby Prozess geöffnet. Also jedesmal muss ich zuerst den Prozess im Taskmanager killen, dann kann ich apache neustarten.

Da scheint wohl was mit deinem FastCGI nicht zu stimmen. Schliesslich startet ja FastCGI den Ruby Prozess (hält ihn auch im Speicher) und sollte ihn dann beim Apachestop beenden.

Tut es denn mit normalen CGI?
(BTW: Benutzt man da wirklich die "rubyw.exe"? Also nicht die "ruby.exe")

Anonsten kannst du in der "apache_stop.bat" den Rubyprozess ja genauso beenden wie auch der Apache beendet wird.

PS:
Ruby gibts doch auch als Apache-Modul, ohne über (fast-)CGI gehen zu müssen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Nando » 02. October 2005 12:54

Ja, es gibt mod_ruby, funktioniert aber nicht richtig mit rails zusammen.

Der Unterschied zwischen rubyw.exe und ruby.exe ist nur der, dass sich beim ausführen einer .rb Datei keine CMD öffnet. Die rubyw.exe wurde extra für windows entwickelt.
Nando
 
Posts: 8
Joined: 25. September 2005 11:32

Postby letonin » 11. February 2008 19:17

1) You might need to add the following line to httpd.conf (particularly on a dev machine)

Code: Select all
<IfModule mod_fastcgi.c>
  FastCgiServer {rails_app_dir}/public/dispatch.fcgi\
      -initial-env RAILS_ENV=development \
      -processes 3 -idle-timeout 120 
</IfModule>



This prevents premature timeouts and limits the FASTCgi processes to 3.


Entnommen aus der Ruby Wiki
letonin
 
Posts: 2
Joined: 10. February 2008 21:39


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 25 guests