Seite 1 von 1

Noch mal Fastcgi

Verfasst: 10.10.2016 22:12
von Stevie63
Liebe user,
das Thema fastcgi war ja schon mal hier behandelt worden. Leider hat es bei mir nicht geklappt. Deshalb nochmal hier meine Fragen:
- Sind die Konfigurationsangaben, so wie sie in der Purebasic-Hilfe angegeben werden, die einzigen Angaben, die in httpd.conf geändert werden müssen?
- In welchem Verzeichnis werden fastcgi-Programme abgelegt?
Vielen Dank im voraus!

Re: Noch mal Fastcgi

Verfasst: 11.10.2016 08:52
von dige
Hatte es nur mal kurz mit XAMPP / Apache getestet, da funktionierte es wie in der Hilfe beschrieben.

Mit nem IIS habe ich es leider noch nicht zum laufen bekommen und nutze daher CGI..

Ansonsten schau mal hier, da gabs noch einige Hinweise von Fred:

http://www.purebasic.fr/english/viewtop ... 13&t=62989

Re: Noch mal Fastcgi

Verfasst: 11.10.2016 10:05
von Stevie63
dige hat geschrieben:Hatte es nur mal kurz mit XAMPP / Apache getestet, da funktionierte es wie in der Hilfe beschrieben.

Mit nem IIS habe ich es leider noch nicht zum laufen bekommen und nutze daher CGI..

Ansonsten schau mal hier, da gabs noch einige Hinweise von Fred:

http://www.purebasic.fr/english/viewtop ... 13&t=62989

Und wo hast du das fcgi-Programm abgelegt?

Re: Noch mal Fastcgi

Verfasst: 11.10.2016 15:30
von Stevie63
Habe xampp frisch installiert.

Genau die Änderungen vorgenommen, wie im Beispiel in der PB-Hilfe.

fastcgi-Beispiel kompiliert.

Das fastcgi-Programm im cgi-bin-Verzeichnis abgelegt.

Rufe das fastcgi-Programm auf (über http :-))

xamp meldet:

[Tue Oct 11 15:07:35.160736 2016] [proxy:error] [pid 2956:tid 1136] (OS 10061)Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte. : AH00957: FCGI: attempt to connect to 127.0.0.1:5600 (localhost) failed
[Tue Oct 11 15:07:35.160736 2016] [proxy_fcgi:error] [pid 2956:tid 1136] [client ::1:56547] AH01079: failed to make connection to backend: localhost

Was mache ich falsch?

Re: Noch mal Fastcgi

Verfasst: 11.10.2016 16:19
von Kiffi
vielleicht hilft's: http://www.purebasic.fr/german/viewtopi ... 16&t=29125

Grüße ... Peter

Re: Noch mal Fastcgi

Verfasst: 12.10.2016 20:27
von Stevie63
Hallo Leute,
vielen Dank für eure Hinweise. Ich habe es jetzt hinbekommen.
Für alle, die es interessiert: hier noch mal mit (hoffentlich allen) Infos:

In der httpd.conf:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

ProxyPass "/fcgiprog/" "fcgi://localhost:5600/" retry=0 enablereuse=on





Statt localhost kann auch die ip-Adresse genommen werden, dann läuft es (seltsamerweise) schneller.

Folgenden Code kompilieren als fcgiprog:

Code: Alles auswählen

EnableExplicit

Global counter.i=0

InitCGI()

If InitFastCGI(5600) ; Erstellen des FastCGI-Programms auf Port 5600
    While WaitFastCGIRequest()
        If ReadCGI()
            WriteCGIHeader(#PB_CGI_HeaderContentType, "text/html", #PB_CGI_LastHeader) 
            WriteCGIString("<html><title>PureBasic - FastCGI</title><body>" +
                           "Hello from PureBasic FastCGI 2!<br>" +
                           "Actual time: <b>"+FormatDate("%hh:%ii", Date()) + "</b><br>" +
                           "Counter: <b>"+Str(counter)+"</b>" +
                           "</body></html>")
            counter=counter+1
        EndIf
    Wend
EndIf
Das Programm kann überall liegen. Das Programm durch Doppelklick starten (also nicht über Browser aufrufen). Im Taskmanager überprüfen ob es läuft. Das fcgi-Programm ist quasi ein Anwendungsserver, welcher am 5600-Port lauscht.

Am Browser eingeben: http://localhost/fcgiprog/
Return drücken und sich an der ganzen Sache erfreuen! :o

Will man ein zweites fastcgi-Programm laufen lassen, muss es auf einen anderen Port laufen, z.B. 5601. Dann das Gleiche von vorne.

Viel Glück!