Webserver - lange Reaktionszeit [Icon bugfix]

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo Liebe Forengemeinde ,

    ich besitze seid kurzem einen Raspberry Pi , dieser erfüllt auch schon sehr gut seinen Zweck ( :bravo2: )

    Allerdings habe ich folgendes Problem:
    Der Apache2 Webserver den ich auf meinem Pi installiert habe hat teilweise echt sehr lange Reaktionszeiten , heißt praktisch:
    Ich will den Webserver per IP im Webbrowser aufrufen aber manchmal muss ich dies 3-4 mal machen bis ich die Website angezeigt bekomme , zuvor kommt immer "Google Chrome kann keine Verbindung zu xxxxxx herstellen"

    Aber wie gesagt , nach mehreren Versuchen geht es dann . :s :-/


    Folgende Software ist installiert:

    - Apache2
    - PHP5
    - Perl [Perl script das laufend ausgeführt wird , menütlich]
    - Proftpd [Server läuft]

    Ach und was eventuell auch noch interessant sein könnte:
    Der Pi ist über WLAN im Internet .

    Weiß jemand warum ich derartige Probleme habe ? :helpnew:

    Einmal editiert, zuletzt von hechtfischen (23. April 2014 um 17:46)

  • Funktioniert ftp trotzdem immer sofort, auch bei mehreren Versuchen? Das sollte sich eigentlich ähnlich verhalten.
    Vermutlich liegt es an der Qualität der WLAN-Verbindung. Vielleicht kannst Du es ja auch mal über Ethernet probieren?

  • Hallo Hechtfischen,

    klingt nach etwas, was wir als das Mysterium bezeichnen.

    Eine Lösung gibt's hier. Das von mir angegebene Programm brauchst Du im Fehlerfall nur aufzurufen, und sofort danach funktioniert's dann wieder.

    Eine Diskussion zur Ursachenforschung findest Du hier.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (8. Oktober 2017 um 13:18)

  • Naja , der Pi verliert ja nicht die Internetverbindung , der Webserver antwortet lediglich nicht ... !?

    Im Syslog steht

    Zitat

    association request to the driver failed

    , aber dieses Problem habe ich schon erfolgreich mit einem Script behoben dass automatisch die WLAN verbindung erneut herstellt .


    Zitat

    Funktioniert ftp trotzdem immer sofort, auch bei mehreren Versuchen? Das sollte sich eigentlich ähnlich verhalten.
    Vermutlich liegt es an der Qualität der WLAN-Verbindung. Vielleicht kannst Du es ja auch mal über Ethernet probieren?

    Bisher noch nicht , werde ich aber tun wenn das Problem nicht gelöst werden kann ... [/quote]

    Einmal editiert, zuletzt von hechtfischen (22. April 2014 um 12:08)

  • Hallo Hechtfischen,

    was meinst Du, ist die Ursache von

    Code
    "Google Chrome kann keine Verbindung zu xxxxxx herstellen"

    Ich will jetzt hier nicht zum wiederholten Mal die gleichen Anleitungen bringen, wie sie hier in den beiden obigen Threads aufgeführt sind.

    Aber wenn Du bei nächsten Fehlefall mal eingibst:

    Code
    ifconfig eth0:

    bzw.

    Code
    ifconfig wlan0:

    dann wirst Du feststellen, dass dort keine IP-Adresse Deines Raspberry vorhanden ist.

    Gegelegentlich kannst Du dann feststellen, dass über

    Code
    cat /etc/resolv.conf

    die IP-Adresse Deines Routers / Gateways nich mehr existiert.

    Sobald Du diese beiden Fehlerbilder hast, dann schaue bitte in den beiden Threads nach, die ich Dir vorhin empfohlen habe.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (22. April 2014 um 12:42)

  • So , ich habe gerade versucht Icon nach deiner Anleitung zu installieren , das geht allerdings nicht.

    Immer wenn ich "icont hallo" eingebe kommt nur

    Zitat

    bash: icont: command not found

    :helpnew:

    Einmal editiert, zuletzt von hechtfischen (22. April 2014 um 17:15)

  • Moin,

    mach mal auf dem PI folgendes:

    Code
    cat /etc/hosts
    
    
    host <hier.IP.vom.Pi>
    host <hostname.der.beim.host.auf.ip.kommt>
    
    
    host <hier.IP.vom.Client>
    host <hostname.der.beim.host.auf.ip.kommt>

    Du kannst auch den Apache wie folgt starten:

    Code
    strace -ff /etc/init.d/apache2 restart

    Die Ausgabe davon ist recht viel. Erst einmal warten bis der Apache fertig mit Laden der Config und Module ist und dann ready ist.
    Erkennt man wenn nur noch ca. jede Sekunde 1-3 Zeilen dazu kommen und es aussieht als ist er in der Wait-Loop um neue Verbindungen anzunehmen.

    Jetzt einfach wie immer am Rechner die IP im Browser aufrufen und dann gucken was passiert. Er wird Dir erst einmal eine Menge Ausgabe um die Ohren geworfen. Aber schau mal ob Du sehen kannst das der Apache die IP und den Hostname vom Client versucht aufzulösen. Der Apache macht je nach Config einen Hostname Lookup und Reverse-Lookup mit einem Call auf gethostbyname usw.

    cya

  • Zitat

    Die Ausgabe davon ist recht viel. Erst einmal warten bis der Apache fertig mit Laden der Config und Module ist und dann ready ist.
    Erkennt man wenn nur noch ca. jede Sekunde 1-3 Zeilen dazu kommen und es aussieht als ist er in der Wait-Loop um neue Verbindungen anzunehmen.

    Jetzt einfach wie immer am Rechner die IP im Browser aufrufen und dann gucken was passiert. Er wird Dir erst einmal eine Menge Ausgabe um die Ohren geworfen. Aber schau mal ob Du sehen kannst das der Apache die IP und den Hostname vom Client versucht aufzulösen. Der Apache macht je nach Config einen Hostname Lookup und Reverse-Lookup mit einem Call auf gethostbyname usw.

    Das bringt mir leider nicht viel , da kommen keine ersichtlichen Daten raus ...


    Aber ich habe noch Probleme Icon zum laufen zu Bringen,

    ich habe $PATH , $IPATH und $LPATH unter /home/pi/.bashrc am Ende wie im Tutorial eingefügt , allerdings sind die Variablen trotz eines Neustarts bei Abfrage über die Konsole leer ? Warum ?

    Und:
    Ich kann mittels ./icon dateien kompilieren und ausführen lassen , aber per icon hallo geht es nicht ...

    Das demo "hallo" Script kann ich ohne Probleme kompilieren , aber das "host-repair" script nicht , da kommt immer

    Zitat

    cannot open file

    warum ? :s

    Einmal editiert, zuletzt von hechtfischen (22. April 2014 um 19:24)

  • So , mittlerweile funktioniert das ganze, allerdings habe ich ein Problem beim ausführen von

    Zitat

    icont host-repair

    ich erhalte dann immer

    Zitat

    Translating: host-repair.icn
    icont: cannot create host-repair.ul

    Ein Test Script das "Hallo Welt" ausgibt funktioniert einwandfrei , aber warum das host-repair script nicht ?


    :-/ :s

    Einmal editiert, zuletzt von hechtfischen (22. April 2014 um 20:59)

  • Hallo Hechtfischen,

    ich hatte Dir ja vorhin schon eine persönliche Nachricht geschickt.

    Ab 20:30 bin ich wieder online, dann können wir die Sache gern durchgehen - hier in diesem Thread.

    Die Ausgabe von

    Code
    pwd

    hast Du mir noch nicht mitgeteilt - und auch den Speicherort von Host-repair.icn nicht.

    Beides ist wichtig, um den Fehler einzukreisen und auch schnell zu lösen.

    Kannst Du mir auch noch die letzten 12 Zeilen von .bashrc schicken (der Datei, in der Du PATH, IPATH und LPATH gesetzt hast)?

    Bis gegen 20:30 ...


    Beste Grüße!

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (23. April 2014 um 17:25)


  • Hallo Andreas ,

    den Inhalt von $PATH, $IPATH und $LPATH hatte ich dir ja schon per Nachricht zugeschickt , die müssten also passen , die AUsgabe von

    Code
    pwd

    ergibt

    Code
    /home/pi/icon9_51/bin

    so wie es sein soll .

    Die Datei host-repair.icn befindet sich im Verzeihnis

    Code
    /home/pi/icon9_51/bin

    .

    Hier noch die letzten Zeilen der .bashrc :

    Was ich aber noch sagen sollte:

    Ich musste die obigen 12 Zeilen in der .bashrc im Ordner root einfügen , denn als ich die 12 Zeilen in der .bashrc des Verzeichnisses

    Code
    /home/pi/

    eingefügt hatte hat er mir die Variablen für die

    Code
    $PATH , $IPATH , $LPATH

    nicht gesetzt , erst als ich die zeilen in der .bashrc des root verzeichnisses eingefügt habe . Eventuell liegt es daran ? :s


    :danke_ATDE:

  • Hallo Hechtfischen,

    wie angekündigt, bin ich jetzt da und schaue mir an, woran es bei Dir scheitert...


    Bis gleich

    Andreas

    Hallo Hechtfischen,

    pwd ergibt das richtige Verzeichns
    Die Quelldatei Host-repair.icn befindet sich im richtigen Verzeichnis.

    ...

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (23. April 2014 um 21:01)

  • Hallo Hechtfischen,

    in meiner Installation hat es gereicht, die Pfade innerhalb von

    Code
    /home/pi/.bashrc

    zu setzen und dann die Kiste neu zu starten.

    Ansonsten ist es nicht erforderlich, irgendwas im Root-Verzeichnis zu hinterlegen oder als Root etwas zu unternehmen.

    Nach einem Neustart wird die Datei

    Code
    /home/pi/.bashrc

    automatisch gestartet - und bei Anwesenheit der 12 Zeilen die drei Pfade ausgegeben. Vorausgesetzt, dass Du als User pi angemeldet bist...Bist Du?

    Das Gleiche passiert auch, wenn Du nach dem Hochfahren in der graphischen Oberfläche das Terminal öffnest. Auch dort werden die drei Pfade ausgegeben.

    Dann weißt Du, dass die Pfade richtig gesetzt sind.

    Beste Grüße

    Andreas

    Hallo Hechtfischen,

    bei mir ist es auch so, dass ich den Compiler über

    Code
    icont

    aufrufe und nicht so wie Du über

    Code
    ./icont

    Irgendetwas scheint bei Deiner Installation abweichend von meiner zu sein - die ich seit über einem Jahr immer nach der gleichen Vorgehensweise (zuletzt letzte Woche für einen neuen Raspberry Pi) durchführe.


    Hier nochmal der Quellcode:


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (23. April 2014 um 21:38)

  • also ich habe jetzt mal die 12 zeilen nochmal in die .bashrc des Verzeichnisses

    Code
    /home/pi

    geschrieben und dann mich als Nutzer pi angemeldet und es hat auch funktioniert .

    Ich war zuvor immer als root angemeldet als ich das mit der .bashrc probiert hatte , daher hat es erst funktioniert als ich die im root Verzeichnis geändert habe . Allerdings geht es als Nutzer pi auch nicht .

    dann erhalte ich die bekannt Fehlermeldung:

    Code
    Translating:
    host-repair.icn
    icont: cannot create host-repair.u1


    gebe ich allerdings

    Code
    Icon host-repair

    in die Konsole ein erhalte ich

    Code
    icont: cannot open: host-repair

    Ach und: es funktioniert jetzt auch in der Konsole mit icont host-repair kein ./icont mehr .

    Ich verstehe das nicht , einfache test script zu kompilieren und auszuführen funktioniert einwandfrei , sowohl grafisch als auch in der Konsole , aber das script zum host-repair nicht ... warum bitte ? ? ?

    Einmal editiert, zuletzt von hechtfischen (23. April 2014 um 21:52)

  • Hallo Hechtfischen,

    mein Terminal zeigt folgendes an:


    Die Umgebungsvariable FPATH brauchst Du nicht - ich probiere gerade etwas aus, um an C/C++/Prolog-Bibliotheken heranzukommen.


    Zitat


    Ach und: es funktioniert jetzt auch in der Konsole mit icont host-repair kein ./icont mehr .

    Ich verstehe das nicht , einfache test script zu kompilieren und auszuführen funktioniert einwandfrei , sowohl grafisch als auch in der Konsole , aber das script zum host-repair nicht ... warum bitte ? ? ?


    ==> In welchem Verzeichnis befindest Du Dich? Was bringt

    Code
    pwd


    Übrigens: Der Compiler wird mit

    Code
    icont programmname

    gestartet - nicht mit icon, Icon oder Icont.

    Beste Grüße

    Andreas

    Hallo Hechtfischen,

    das Einzige, was mir jetzt noch einfällt:

    Was kommt bei Dir bei folgenden Befehlen heraus:

    Code
    less host-repair.icn

    und

    Code
    dir /home/pi/icon9_51/lib

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (23. April 2014 um 22:19)

  • also ich versuche gerade das ganze nochmal zu installieren ...

    melde mich wenn ich soweit bin ..

    Einmal editiert, zuletzt von hechtfischen (23. April 2014 um 22:30)

  • Hallo Hechtfischen,

    jetzt mal Schritt für Schritt: [EDIT: 08-OKT-2017 Besser so!]

    1. Quellcode-Paket herunterladen

    Code
    wget www.cs.arizona.edu/icon/ftp/packages/unix/icon-v951.src.tgz

    2. In das Download-Verzeichnis wechseln

    Code
    cd /home/pi/Downloads

    3. Entpacken

    Code
    tar -x -v -f icon-v951src.tgz

    4. Icon-Arbeitsverzeichnis erstellen

    Code
    mkdir /home/pi/icon9_51

    5. Quelldateien verschieben

    Code
    cp -v icon-v951src/* /home/pi/icon9_51

    6. Entwickler-Dateien nachinstallieren

    Code
    sudo apt-get install build-essential libx11-dev libxt-dev libxaw7-dev

    7. Ins Konfigurationsverzeichnis wechseln

    Code
    cd /home/pi/icon9_51/config

    8. Konfigurationsverzeichnis für RaspberryPi erstellen

    Code
    cp -v -r posix RaspberryPi

    9. Ins Konfigurationsverzeicnis für RaspberryPi wechseln

    Code
    cd RaspberryPi

    10. Anpassen der Konfigurationsdateien nach Anleitung (Icon-Tutorial Teil 1, Seite 3)
    Flossen weg von Makedefs: Die Datei wird nicht verändert!

    11. Erstellen des Icon-Systems

    Code
    cd ../..
    make Status name=RaspberryPi
    make X-configure name=RaspberryPi
    make X-Configure=RaspberryPi
    make status=RaspberryPi
    make Icont
    make Samples
    make Test
    make Benchmark

    Gelegentliche Fehlermeldungen ignorieren

    12. Ins Arbeitsverzeichnis wechseln

    Code
    /home/pi/icon9_51/bin

    13. Arbeitsverzeichnis anzeigen

    Code
    ls -all

    ==> Schicke mir das Ergebnis bitte zu!

    14. Pfade für PATH, IPATH, LPATH nach anleitung in /home/pi/.bashrc setzen

    15 Eigenen Quellcode (*.icn) zunächst in /home/pi/icon9_51/bin speichern

    16. Compilieren eigener Programme immer aus dem Arbeitsverzeichnis heraus

    Code
    cd /home/pi/icon9_51/bin

    17.Compilieren eigener Quellcodes

    Code
    icont programmname

    erzeugt ausführbares Programm

    Code
    icont programmname -x

    und startet es danach

    Code
    iconx programmname

    startet das Programm

    Code
    programmname

    startet das Programm

    Bei Programmen, die eine graphische Oberfläche erzeugen, muss startx gestartet sein. Andere Programme laufen auf der Konsole.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    2 Mal editiert, zuletzt von Andreas (8. Oktober 2017 um 13:15)

  • Mal ganz abgesehen davon dass ich schon weiter bin , ich habe kein Download Verzeichnis .
    Die gedownloadete Datei wird unter

    Code
    /home/pi

    gespeichert . ..

    sollte aber kein Problem darstellen oder ?

    Einmal editiert, zuletzt von hechtfischen (23. April 2014 um 22:48)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!