Forum: PC Hard- und Software Nginx fastcgi php reagiert nach etlichen Aufrufen nicht mehr


von Markus F. (blackflip)


Lesenswert?

Schönen guten Tag,
ich hoffe hier hat vielleicht jemand einen guten Tip für mich. Im 
Allgemeinen Funktioniert alles, nur habe ich das Problem das eine Seite 
von Webserver über Ajax alle 5 Sekunden schaut ob Updates vorhanden 
sind. Einige Zeit funktioniert das sehr gut, nach einer ganzen weile, 
ist es aber leider so das sich das Php Modul verabschiedet und nginx nur 
noch Statische Inhalte ausliefern möchte.

Ich arbeite derzeit an einem Raspberry Compute Modul mit einen über 
Buildroot eigens zusammen gestellten Linux.

Fehlermeldung über Weboberfläche:
1
An error occurred.
2
3
Sorry, the page you are looking for is currently unavailable.
4
Please try again later.
5
6
If you are the system administrator of this resource then you should check the error log for details.
7
8
Faithfully yours, nginx.


nginx.conf
1
#user  www-data;
2
worker_processes  1;
3
4
#error_log  logs/error.log;
5
#error_log  logs/error.log  notice;
6
#error_log  logs/error.log  info;
7
8
#pid        logs/nginx.pid;
9
10
11
events {
12
   worker_connections  1024;
13
}
14
15
16
http {
17
   include       mime.types;
18
   default_type  application/octet-stream;
19
20
   #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
21
   #                  '$status $body_bytes_sent "$http_referer" '
22
   #                  '"$http_user_agent" "$http_x_forwarded_for"';
23
24
   #access_log  logs/access.log  main;
25
26
   sendfile        on;
27
   #tcp_nopush     on;
28
29
   #keepalive_timeout  0;
30
   keepalive_timeout  65;
31
32
   gzip  on;
33
upstream php {
34
   server 127.0.0.1:9000;
35
}
36
   server {
37
       listen       80;
38
       server_name  localhost;
39
40
       #charset koi8-r;
41
42
       #access_log  logs/host.access.log  main;
43
44
       location / {
45
           root   /var/www/html;
46
           index  index.html index.htm index.php;
47
       }
48
49
       #error_page  404              /404.html;
50
51
       # redirect server error pages to the static page /50x.html
52
       #
53
        error_page   500 502 503 504  /50x.html;
54
        location = /50x.html {
55
            root   html;
56
        }
57
58
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
59
        #
60
        #location ~ \.php$ {
61
        #    proxy_pass   http://127.0.0.1;
62
        #}
63
64
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
65
        #
66
        location ~ \.php$ {
67
            root           /var/www/html;
68
            fastcgi_pass   127.0.0.1:9000;
69
            fastcgi_index  index.php;
70
            fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name;
71
            include        fastcgi_params;
72
            fastcgi_read_timeout 300;
73
74
75
76
        }
77
        # deny access to .htaccess files, if Apache's document root
78
        # concurs with nginx's one
79
        #
80
        #location ~ /\.ht {
81
        #    deny  all;
82
        #}
83
    }
84
85
86
    # another virtual host using mix of IP-, name-, and port-based configuration
87
    #
88
    #server {
89
    #    listen       8000;
90
    #    listen       somename:8080;
91
    #    server_name  somename  alias  another.alias;
92
93
    #    location / {
94
    #        root   html;
95
    #        index  index.html index.htm;
96
    #    }
97
    #}
98
    # HTTPS server
99
    #
100
    #server {
101
    #    listen       443 ssl;
102
    #    server_name  localhost;
103
104
    #    ssl_certificate      cert.pem;
105
    #    ssl_certificate_key  cert.key;
106
107
    #    ssl_session_cache    shared:SSL:1m;
108
    #    ssl_session_timeout  5m;
109
110
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
111
    #    ssl_prefer_server_ciphers  on;
112
113
    #    location / {
114
    #        root   html;
115
    #        index  index.html index.htm;
116
    #    }
117
    #}
118
119
}

/var/log/nginx/error.log sonst werden keine weiteren Fehler im Log 
angezeigt
1
2015/08/25 07:57:01 [error] 85#0: *456 connect() failed (111: Connection refused) while connecting to upstream, client: 172.21.17.185, server: localhost, request: "GET /include/functionAjax.php?param=71&var=3&oldtemp=200 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "172.21.111.109", referrer: "http://172.21.111.109/index.php?site=start"
2
2015/08/25 07:57:02 [error] 85#0: *456 connect() failed (111: Connection refused) while connecting to upstream, client: 172.21.17.185, server: localhost, request: "GET /include/functionAjax.php?param=71&var=3&oldtemp=200 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "172.21.111.109", referrer: "http://172.21.111.109/index.php?site=start"
3
2015/08/25 07:57:02 [error] 85#0: *456 connect() failed (111: Connection refused) while connecting to upstream, client: 172.21.17.185, server: localhost, request: "GET /include/functionAjax.php?param=71&var=3&oldtemp=200 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "172.21.111.109", referrer: "http://172.21.111.109/index.php?site=start"
4
2015/08/25 07:57:03 [error] 85#0: *456 connect() failed (111: Connection refused) while connecting to upstream, client: 172.21.17.185, server: localhost, request: "GET /include/functionAjax.php?param=71&var=3&oldtemp=200 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "172.21.111.109", referrer: "http://172.21.111.109/index.php?site=start"
5
2015/08/25 07:57:03 [error] 85#0: *456 connect() failed (111: Connection refused) while connecting to upstream, client: 172.21.17.185, server: localhost, request: "GET /include/functionAjax.php?param=71&var=3&oldtemp=200 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "172.21.111.109", referrer: "http://172.21.111.109/index.php?site=start"
6
2015/08/25 07:57:04 [error] 85#0: *456 connect() failed (111: Connection refused) while connecting to upstream, client: 172.21.17.185, server: localhost, request: "GET /include/functionAjax.php?param=71&var=3&oldtemp=200 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "172.21.111.109", referrer: "http://172.21.111.109/index.php?site=start"
7
....
8
....
9
....



Beheben kann ich den Fehler temporär in dem ich
       php-cgi -b 127.0.0.1:9000 &
       ;;
ausführe.

Ich hoffe von euch hat jemand eine Idee

von Dirk D. (dicky_d)


Lesenswert?

was sagt den dein fpm-logfile?

von Markus F. (blackflip)


Lesenswert?

Das kann ich leider nicht finden, da scheint die Protokollierung nicht 
aktiviert zu sein.
Gesucht habe ich im allgemeinen Log Verzeichnis /var/log und im 
Verzeichnis / mithilfe von find * | grep fpm . dabei hat er aber keine 
einzigste Datei gefunden

von Dirk D. (dicky_d)


Lesenswert?

Du kannst in deiner fpm config den log-pfad setzen:
php_admin_value[error_log] =
und aktivieren:
php_admin_flag[log_errors] = on

dann bekommst du evtl mit warum der hops geht.

von Markus F. (blackflip)


Lesenswert?

Nach langen suchen habe ich kein bisschen zu einen FPM Modul gefunden, 
ich denke hier wird über Buildroot ein einfaches fastcgi php modul 
erstellt worden sein. Leider sehe ich dazu keine Log - oder Konfig 
Dateien. Derzeit versuche ich ein fpm Modul herunter zu laden und zu 
erstellen. Ich hoffe das dabei alle benötigten Programme mit im Os dabei 
sind.
Danke, vllt. hilft das schon.

von Dirk D. (dicky_d)


Lesenswert?

Ich höre zum ersten mal von buildroot, wo ist in rpi fall der Vorteil zu 
nem debian?

von Markus F. (blackflip)


Lesenswert?

Buildroot ist einer der leichter zu bedinenden Systemgeneratoren. Damit 
hat man die volle Kontrolle was in dem Linux System eingebunden ist und 
kann extra auf die Hardware angepasst werden. Weiterhin wird die größe 
durch multi call binary  wie z.B. Busybox stark eingeschränkt.

Durch diese starke Spezialisierung des Systemes sind Startzeiten unter 
10s kein Problem und auch der Platz Verbrauch eines Images wird stark 
eingeschränkt.
(unser Raspberry hat genau 2 Aufgaben, dafür brauchen wir kein riesiges 
fertiges Image)

Alles aufzuzählen kann man überhaupt nicht.

von Dirk D. (dicky_d)


Lesenswert?

Markus F. schrieb
> Nach langen suchen habe ich kein bisschen zu einen FPM Modul gefunden,
> ich denke hier wird über Buildroot ein einfaches fastcgi php modul
> erstellt worden sein. Leider sehe ich dazu keine Log - oder Konfig
> Dateien.
> [...] Damit hat man die volle Kontrolle was in dem Linux System
> eingebunden ist [...]

Nichts für ungut :)

von Peter II (Gast)


Lesenswert?

Markus F. schrieb:
> Durch diese starke Spezialisierung des Systemes sind Startzeiten unter
> 10s kein Problem
so viel länger braucht ein Standardsystem ohne X auch nicht.

> und auch der Platz Verbrauch eines Images wird stark
> eingeschränkt.
> (unser Raspberry hat genau 2 Aufgaben, dafür brauchen wir kein riesiges
> fertiges Image)
meine Debian passt auf 512mb - viel kleiner bringt nicht wirklich ein 
Vorteil bei den aktuellen Speicherkarten.

von Markus F. (blackflip)


Lesenswert?

Peter II schrieb:
> Markus F. schrieb:
>> Durch diese starke Spezialisierung des Systemes sind Startzeiten unter
>> 10s kein Problem
> so viel länger braucht ein Standardsystem ohne X auch nicht.
>
>> und auch der Platz Verbrauch eines Images wird stark
>> eingeschränkt.
>> (unser Raspberry hat genau 2 Aufgaben, dafür brauchen wir kein riesiges
>> fertiges Image)
> meine Debian passt auf 512mb - viel kleiner bringt nicht wirklich ein
> Vorteil bei den aktuellen Speicherkarten.

Tja leider habe ich ein System mit Grafischer Ausgabe und bein standard 
Image hat man dann mehr als 40s Startzeit(Beim 1er Raspberry). Wenn ich 
mehr Zeit dazu hätte und die Software weiter anpassen dürfte(Naja Zeit 
bestimmt und 10s sind gerade noch so für den Einsatzzweck akzeptabel(So 
steht das System nach ca. 4s))

Und ebenso ist das natürlich schlecht, wenn das Compute Module nur mit 
eingebauten 4GB Speicher daher kommt und nicht über SD Karte erweiterbar 
ist ;-) . Dann ist es natürlich schön Speicher zu sparen, um den mit 
Daten füllen zukönnen ;-)

Außerdem soll es ja nur eine Einführung in das Thema Open Embedded sein, 
da es leider ja auch noch andere Boards gibt die bei weitem nicht soviel 
Speicher haben.


So jetzt aber genug zu den Thema ...

von Markus F. (blackflip)


Lesenswert?

Das erstellen eines php fpm paketes hat so leider nicht funktioniert. 
Leider bringt der Php Log auch keinen Fehler dazu.
Ich konnte das Problem jetzt entgehen indem ich die Software über 
inittab starte und als action respawn verwende. So stürtzt dies leider 
immer noch ab, aber wird danach sofort neu gestartet.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.