Apache beendet sich jeden morgen

Apache, Lighttpd, nginx, Cherokee
tecci
Posts: 48
Joined: 2003-09-07 14:40

Apache beendet sich jeden morgen

Post by tecci »

Hallo =)
Seit kurzem habe ich ein Problem mit Apache 2.
Jeden morgen um 06:25 Uhr beendet sich Apache und im error.log steht stillschweigend:
[notice] caught SIGTERM, shutting down
Unable to open logs (logisch)
Zu diesem Zeitpunkt steht lediglich ein Eintrag im Syslog:
Jun 19 06:25:01 v3 /USR/SBIN/CRON[30797]: (root) CMD (test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily)
Die Datei /etc/cron.daily ist jedoch leer.
Nachdem Apache dann abgestürzt ist, startet ein neues Syslog:
Jun 19 06:25:55 v3 syslogd 1.4.1#17: restart.
Danach keine weiteren Aufälligkeiten.
Systemkonfiguration:
- Debian Sarge
- Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16

Hat jemand noch eine Idee / einen Tipp?

Dankeschön!!!
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53

Re: Apache beendet sich jeden morgen

Post by Roger Wilco »

Tecci wrote:Die Datei /etc/cron.daily ist jedoch leer.
Das sollte ein Verzeichnis und keine Datei sein.
Tecci wrote:Hat jemand noch eine Idee / einen Tipp?
Verwendest du Logrotate und löschst dem Apache die Logfiles unter dem Hintern weg, ohne ihn danach zu SIGHUPen?
tecci
Posts: 48
Joined: 2003-09-07 14:40

Re: Apache beendet sich jeden morgen

Post by tecci »

Roger Wilco wrote: Verwendest du Logrotate und löschst dem Apache die Logfiles unter dem Hintern weg, ohne ihn danach zu SIGHUPen?
Nein, ich lösche Logrotate nichts weg. Wie kann ich das ganze denn wieder gerade biegen, dass Apache mal wieder "normal" läuft?

Was mir im Log noch aufgefallen ist, folgende Meldung kommt seeehr sehr oft vor (teilweiße mehrmals pro Minute):
[notice] child pid XXXXX exit signal Segmentation fault (11)
Wobei XXXXX für die PID-ID steht, welche immer wechselt ;)
User avatar
Joe User
Project Manager
Project Manager
Posts: 11167
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Apache beendet sich jeden morgen

Post by Joe User »

Dein Apache beziehungsweise eines seiner Module ist buggy und möchte upgedatet werden...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
tecci
Posts: 48
Joined: 2003-09-07 14:40

Re: Apache beendet sich jeden morgen

Post by tecci »

So gut, ich habe nun apt-get komplett durchlaufen lassen uns es läuft jetzt Apache in Version Apache/2.0.54 (Debian GNU/Linux) mit PHP/4.3.10-16.2.

Wie kann ich den das kaputte Modul rausfinden?
Vielen Dank!!!
tecci
Posts: 48
Joined: 2003-09-07 14:40

Re: Apache beendet sich jeden morgen

Post by tecci »

Tut mir leid, falls ich nerve. Aber langsam habe ich echt keine Idee mehr, wie ich das Problem wieder heil bekommen kann...

Bitte um Vorschläge :cry:
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53

Re: Apache beendet sich jeden morgen

Post by Roger Wilco »

Entferne alle Apache und alle PHP-Module und füge die schrittweise wieder ein, bis du das defekte gefunden hast.
darkiop
Posts: 16
Joined: 2004-09-18 13:21

Re: Apache beendet sich jeden morgen

Post by darkiop »

Habe das Problem auch, aber noch keine Zeit den Fehler zu suchen. Nutze auch Debian Sarge. Hab mir ein kleines workaround geschrieben bis ich den Fehler lokalisiert habe:

Code: Select all

#!/bin/bash
#
# ueberprueft apache2 ob aktiv oder inaktiv
#

if test -f /var/run/apache2.pid ; then
        # Apache2 aktiv
        echo "Apache2 ist gestartet"
        echo
        echo "PID: `cat /var/run/apache2.pid`"
else
        # Apache2 nicht aktiv
        echo "Apache2 inaktiv! Starte ihn neu!"
        /etc/init.d/apache2 start
        echo "Apache2 wurde gestartet!"
fi

# EOF
Das einfach per cron ausführen lassen und der Apache laeuft immer.

Wie gesagt, das benutze ich aber nur bis ich den Fehler gefunden habe, ist nicht so ganz die feine Art ;)
tecci
Posts: 48
Joined: 2003-09-07 14:40

Re: Apache beendet sich jeden morgen

Post by tecci »

darkiop wrote:Habe das Problem auch, aber noch keine Zeit den Fehler zu suchen. Nutze auch Debian Sarge. Hab mir ein kleines workaround geschrieben bis ich den Fehler lokalisiert habe:

Code: Select all

#!/bin/bash
#
# ueberprueft apache2 ob aktiv oder inaktiv
#

if test -f /var/run/apache2.pid ; then
        # Apache2 aktiv
        echo "Apache2 ist gestartet"
        echo
        echo "PID: `cat /var/run/apache2.pid`"
else
        # Apache2 nicht aktiv
        echo "Apache2 inaktiv! Starte ihn neu!"
        /etc/init.d/apache2 start
        echo "Apache2 wurde gestartet!"
fi

# EOF
Das einfach per cron ausführen lassen und der Apache laeuft immer.

Wie gesagt, das benutze ich aber nur bis ich den Fehler gefunden habe, ist nicht so ganz die feine Art ;)
Klasse, dankeschön - das ist wenigstens schonmal eine temporäre Lösung :)
ice
Posts: 140
Joined: 2002-08-21 13:08

Re: Apache beendet sich jeden morgen

Post by ice »

Um 06:25Uhr ist es wahrscheinlich logrotate. Die Konfiguration von logrotate sollte den apachen nach dem rotaten einmal restarten. Dazu nutzt logrotate wahrscheinlich

Code: Select all

/etc/init.d/apache2 restart
.

Schau Dir das Script mal an. Dort drin könnte innerhalb

Code: Select all

case restart
ein

Code: Select all

sleep 1
stehen. Das reicht aber bei einem gut frequentierten Server nicht aus den apachen zu stoppen.

Mit der Folge, dass wenn start ausgeführt wird das pid noch da ist und er dann apachen nicht neu startet. Eigentlich logisch und richtig.

Erhöhe die sleep zB auf 3 dann geht das auch morgens gut.
kumpel2
Posts: 46
Joined: 2006-08-09 16:13
Location: Essen Nord

Re: Apache beendet sich jeden morgen

Post by kumpel2 »

HI,

gleiches Problem gehabt, lag nicht am apache sondern an logrotate...

im verzeichnis /etc/logrotate sollte eine datei namens apache2 liegen.

wenn ja müsstest du dort beispielsweise einen folgenden eintrag finden:

Code: Select all

/var/log/apache2/access_log {
    compress
    dateext
    maxage 365
    rotate 99
    size=+4096k
    notifempty
    missingok
    create 644 root root
    postrotate
     /etc/init.d/apache2 reload
    endscript
}
wichtig ist, das ein postrotate und dahinter der apache reloaded wird, dann passiert sowas nicht mehr...

// EDIT: Das muss natürlich bei allen der einträge stehen innerhalb der datei apache2 ;)

Viel Glück!