Jump to content
Froxlor Forum
  • 0

Socket Fehler bei PHP-FPM (Froxlor Cronjob bedingt?!)


Question

Hallo liebe Leute,

 

ich habe ein Phänomen, welches auf ein paar Servern mit sehr starken Zugriffszahlen auftritt.

 

Ich sehe auf diesen Servern vermehrt diese Fehlermeldungen:

[Sun Oct 25 16:00:04.209734 2020] [proxy:error] [pid 35780:tid 139952056231680] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /var/lib/apache2/fastcgi/6-[user-domain]-php-fpm.socket (*) failed

Problem ist, dass der Socket in jedem Fall vorhanden ist. Dieses Problem kann durch einen manuellen oder weiteren automatischen "Froxlorcron" gelöst werden.

 

Das Problem tritt zu 99% immer zur 5 Minute auf also zu Zeiten in denen der Froxlor Cronjob durch läuft.

Weitere Cronjobs auf dem Server welche diese Zeiten erklären könnten gibt es nicht. Hatte schon einmal jemand diese Probleme?

Ich habe es nun mit "ondemand" und "dynamic" probiert, ondemand wirft in jedem Fall mehr Fehler, dynamic ist jedoch auch nicht fehlerfrei. Die gleiche Konfiguration läuft auf anderen Servern ohne Probleme, da könnte es aber auch an wenig Traffic liegen.

 

Welche Logs soll ich bereit stellen? Ich bin leider mit meinem Latein am ende :(

 

Vielen Dank!

Link to post
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Hab jetzt mal das Forum nach "attempt to connect to Unix domain" durchsucht und konnte da nur Probleme finden, welche nicht auf mein problem anzuwenden sind. Die meisten Probleme beziehen sich auf Einrichtung von PHP-FPM (Was ja generell bei mir funktioniert) oder Probleme mit nscd, welches nicht auf diesem Server existiert, es wird extrausers verwendet. Probleme dieser Art im Bezug auf den Froxlor Cronjob konnte ich auch nur finden im direkten Bezug zu der initialen Einrichtung von PHP-FPM.

Es ist halt sehr merkwürdig, dass alles wie butter läuft und es ab und an durch einen Froxlor Cronjob zu diesen socket Fehlern kommt, diese dann z.B. durch einen Weiteren Cronjob wieder behoben werden. Es scheint fast so, als könnte der Froxlor Cronjob manchmal nicht alles abarbeiten, was er wollte. Dieses Problem tritt mehrmals täglich auf, also auch nicht bei jedem oder jedem 2. cronjob. Manchmal hällt der Fehler auch ne Stunde oder länger an bis ein automatischer Cronjob den Fehler wieder behebt.

Link to post
Share on other sites
  • 0

naja, der Cronjob erstellt doch nicht jedes mal wenn er läuft alle configs neu. Nur wenn es Änderungen gibt. Wenn du dir sicher bist das es keine Änderungen geben wird die nächsten stunden, mach doch den cronjob mal aus, und beobachte einen tag ob es dennoch auftritt.

Link to post
Share on other sites
  • 0

Ich habe es mit einem chmod 000 auf /var/www/froxlor/scripts/froxlor_master_cronjob.php versucht, der Cronjob lief aber weiterhin durch und es gab wieder socket Fehler um Wed Oct 28 03:50:05.357330, Wed Oct 28 04:05:04.981422 und Wed Oct 28 07:25:05.767229. Ich habe jetzt in den Cron Einstellungen den php Befehl mal auf /bin/false gestellt und teste es nochmal 24 Stunden.

Link to post
Share on other sites
  • 0

Naja, der froxlor cronjob würde die neu anlegen bei änderungen im system. Wenn der cron nicht läuft oder die Datei nicht da ist (die ja sagt wann er welchen cron starten soll) erstellt er natürlich auch nix neu. Du kannst das Neuerstellen wieder forcieren mit php /var/www/froxlor/scripts/froxlor_master_cronjob.php --force

Link to post
Share on other sites
  • 0

So,

 

Es gab nun keine weiteren "attempt to connect to Unix domain" Fehlermeldungen in der error.log der Kunden auf dem Server. Ich denke damit kann man sagen, dass die Fehler durch den Froxlor Cronjob hervorgerufen werden. Welche Daten kann ich übergeben um dies weiter zu analysieren?

Link to post
Share on other sites
  • 0

Hast du den Cronjob denn mal manuell mit --force --debug parameter ausgeführt und geschaut ob da vllt irgendwas hilfreiches steht? 

Link to post
Share on other sites
  • 0

Hallo,

 

Ja, leider steht nicht wirklich etwas darin, was auf einen Fehler hinweisen könnte.

 

[information] TasksCron: Searching for tasks to do
[information] Running Let's Encrypt cronjob prior to regenerating webserver config files
[information] Checking for LetsEncrypt client upgrades before renewing certificates:
[Do 29. Okt 10:46:08 CET 2020] Already uptodate!
[Do 29. Okt 10:46:08 CET 2020] Upgrade success!
[Do 29. Okt 10:46:08 CET 2020] Installing cron job
3 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
[information] Requesting 1 new Let's Encrypt certificates
[information] Creating certificate for domain.tld
[information] Adding common-name: domain.tld
[information] Adding SAN entry: www.domain.tld
[information] Validating DNS of domain.tld
[warning] Skipping Let's Encrypt generation for domain.tld due to no system known IP address via DNS check
[information] Validating DNS of www.domain.tld
[warning] Skipping Let's Encrypt generation for www.domain.tld due to no system known IP address via DNS check
[information] Updated Let's Encrypt certificate for 
[information] Updated Let's Encrypt certificate for 
[information] Updated Let's Encrypt certificate for 
[information] Updated Let's Encrypt certificate for 
[information] Updated Let's Encrypt certificate for 
[information] Updated Let's Encrypt certificate for 
[information] Updated Let's Encrypt certificate for 
[information] Updated Let's Encrypt certificate for 
[error] Could not find file 'domain.tld.cer' in '/root/.acme.sh/domain.tld/'
[error] Could not find file 'ca.cer' in '/root/.acme.sh/domain.tld/'
[error] Could not find file 'fullchain.cer' in '/root/.acme.sh/domain.tld/'
[error] Could not get Let's Encrypt certificate for domain.tld:

[information] Updated Let's Encrypt certificate for 
[information] Updated Let's Encrypt certificate for 
[information] Updated Let's Encrypt certificate for 
[information] Updated Let's Encrypt certificate for 
[information] Updated Let's Encrypt certificate for 
[information] Let's Encrypt certificates have been updated
[information] apache::createIpPort: creating ip/port settings for  x.x.x.x:80
[debug] x.x.x.x:80 :: inserted vhostcontainer
[information] apache::createIpPort: creating ip/port settings for  x.x.x.x:443
[debug] x.x.x.x:443 :: inserted vhostcontainer
[information] apache::createVirtualHosts: creating vhost container for domain 57, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 55, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 56, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 45, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 16, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 80, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 54, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 22, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 38, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 28, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 48, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 74, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 47, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 14, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 72, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 52, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 58, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 31, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 76, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 44, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 67, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 81, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 69, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 68, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 53, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 15, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 30, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 79, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 34, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 26, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 37, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 66, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 29, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 25, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 70, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 71, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 13, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 73, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 46, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 49, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 20, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 21, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 64, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 65, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 51, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 50, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 59, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 23, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 75, customer 
[information] apache::createVirtualHosts: creating vhost container for domain 3, customer 
[information] apache::writeConfigs: rebuilding /etc/apache2/sites-enabled/
[information] apache::writeConfigs: rebuilding /etc/apache2/htpasswd/
[information] apache::writeConfigs: rebuilding /etc/apache2/sites-enabled/
[information] Froxlor\Cron\Http\ApacheFcgi::reload: running service php7.0-fpm restart
[information] Froxlor\Cron\Http\ApacheFcgi::reload: running service php7.1-fpm restart
[information] Froxlor\Cron\Http\ApacheFcgi::reload: fpm config directory "/etc/php/5.6/fpm/pool.d/" is empty. Creating dummy.
[information] Froxlor\Cron\Http\ApacheFcgi::reload: running service php5.6-fpm restart
[information] Froxlor\Cron\Http\ApacheFcgi::reload: running service php7.2-fpm restart
[information] Froxlor\Cron\Http\ApacheFcgi::reload: fpm config directory "/etc/php/7.3/fpm/pool.d/" is empty. Creating dummy.
[information] Froxlor\Cron\Http\ApacheFcgi::reload: running service php7.3-fpm restart
[information] Froxlor\Cron\Http\ApacheFcgi::reload: reloading Froxlor\Cron\Http\ApacheFcgi
[notice] Creating passwd file
[notice] Writing 24 entries to passwd file
[notice] Succesfully wrote passwd file
[notice] Creating group file
[notice] Writing 23 entries to group file
[notice] Succesfully wrote group file
[notice] Creating shadow file
[notice] Writing 24 entries to shadow file
[notice] Succesfully wrote shadow file
[notice] Checking system's last guid

 

Link to post
Share on other sites
  • 0
13 minutes ago, DaSilva said:

[information] Validating DNS of domain.tld [warning] Skipping Let's Encrypt generation for domain.tld due to no system known IP address via DNS check [information] Validating DNS of www.domain.tld [warning] Skipping Let's Encrypt generation for www.domain.tld due to no system known IP address via DNS check

 

Link to post
Share on other sites
  • 0

Ehm, ja sicher, wenn der erkennt, dass die domain auf keine der im froxlor bekannten IPs auflöst, dann wird das erstellen des Certificates mit sehr großer wahrscheinlichkeit fehlschlagen....

Link to post
Share on other sites
  • 0

Ich kann mir absolut nicht erklären, warum ein  LE DNS Check zu einem PHP-FPM Socket Fehler führen sollte, aber seitdem die Domain von LE befreit wurde, gab es bisher keine weiteren Socket Fehler.

 

Könntest du erläutern, wie das durch einen LE DNS Check passieren könnte?

Link to post
Share on other sites
  • 0

Ganz einfach, weil dadurch alle 5 min für den cronjob "was zu tun ist" - nämlich das gewünschte certificate holen - was nicht klappt, also in 5 min noch ma probiere...usw.usw.usw

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...