Blame docs/manual/stopping.html.de

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head>
Packit 90a5c9
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
Packit 90a5c9
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
              This file is generated from xml source: DO NOT EDIT
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
      -->
Packit 90a5c9
<title>Beenden und Neustarten - Apache HTTP Server Version 2.4</title>
Packit 90a5c9
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
Packit 90a5c9
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
Packit 90a5c9
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
Packit 90a5c9
<script src="./style/scripts/prettify.min.js" type="text/javascript">
Packit 90a5c9
</script>
Packit 90a5c9
Packit 90a5c9
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
Packit 90a5c9
<body id="manual-page">
Packit 90a5c9

Module | Direktiven | FAQ | Glossar | Seitenindex

Packit 90a5c9

Apache HTTP Server Version 2.4

Packit 90a5c9
Packit 90a5c9
<-
Packit 90a5c9
Packit 90a5c9
Apache > HTTP-Server > Dokumentation > Version 2.4

Beenden und Neustarten

Packit 90a5c9
Packit 90a5c9

Verfügbare Sprachen:  de  |

Packit 90a5c9
 en  |
Packit 90a5c9
 es  |
Packit 90a5c9
 fr  |
Packit 90a5c9
 ja  |
Packit 90a5c9
 ko  |
Packit 90a5c9
 tr 

Packit 90a5c9
Packit 90a5c9
Diese Übersetzung ist möglicherweise
Packit 90a5c9
            nicht mehr aktuell. Bitte prüfen Sie die englische Version auf
Packit 90a5c9
            die neuesten Änderungen.
Packit 90a5c9
Packit 90a5c9
    

Dieses Dokument umfasst das Beenden und Neustarten des

Packit 90a5c9
    Apache auf Unix-ähnlichen Systemen. Anwender von Windows NT, 2000
Packit 90a5c9
    und XP sollten Betreiben
Packit 90a5c9
    des Apache als Dienst lesen, während hingegen Anwender von
Packit 90a5c9
    Windows 9x sowie ME Betreiben
Packit 90a5c9
    des Apache als Konsolenanwendung lesen sollten, um mehr Informationen
Packit 90a5c9
    zur Handhabung des Apache auf diesen Systemen zu erhalten.

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
  • Beenden
  • Packit 90a5c9
  • Unterbrechungsfreier Neustart
  • Packit 90a5c9
  • Neustarten
  • Packit 90a5c9
  • Anhang: Signale und Wettkampfsituationen
  • Packit 90a5c9

    Siehe auch

    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Einleitung

    Packit 90a5c9
    Packit 90a5c9
        

    Um den Apache zu stoppen oder neu zu starten, müssen Sie

    Packit 90a5c9
        ein Signal an den laufenden httpd-Prozess senden. Es gibt
    Packit 90a5c9
        zwei Möglichkeiten, diese Signale zu senden. Zum einen können
    Packit 90a5c9
        Sie den Unix-Befehl kill verwenden, um den Prozessen
    Packit 90a5c9
        direkt Signale zu senden. Sie werden feststellen, dass auf Ihrem
    Packit 90a5c9
        System mehrere httpd-Programme laufen. Sie sollten
    Packit 90a5c9
        jedoch nicht jedem dieser Prozesse ein Signal senden, sondern nur dem
    Packit 90a5c9
        Elternprozess, dessen PID im PidFile steht. Das heißt, Sie
    Packit 90a5c9
        sollten es niemals nötig haben, einem anderen Prozess, als dem
    Packit 90a5c9
        Elternprozess, ein Signal zu senden. Es gibt drei Signale, die Sie an den
    Packit 90a5c9
        Elternprozess senden können: TERM,
    Packit 90a5c9
        HUP und
    Packit 90a5c9
        USR1, die nachfolgend beschrieben
    Packit 90a5c9
        werden.

    Packit 90a5c9
    Packit 90a5c9
        

    Um dem Elternprozess ein Signal zu senden, verwenden Sie einen

    Packit 90a5c9
        Befehl wie z.B.:

    Packit 90a5c9
    Packit 90a5c9
        

    kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

    Packit 90a5c9
    Packit 90a5c9
        

    Die zweite Methode, dem httpd-Prozess zu

    Packit 90a5c9
        signalisieren, ist die Verwendung der -k-Befehlszeilenoptionen
    Packit 90a5c9
        stop, restart und graceful, wie
    Packit 90a5c9
        unten beschrieben. Dies sind Argumente des httpd-Programms, es wird jedoch
    Packit 90a5c9
        empfohlen, sie unter Verwendung des Steuerskripts apachectl zu senden, welches diese
    Packit 90a5c9
        an httpd durchreicht.

    Packit 90a5c9
    Packit 90a5c9
        

    Nachdem Sie httpd signalisiert haben, können Sie

    Packit 90a5c9
        dessen Fortschritt beobachten, indem Sie eingeben:

    Packit 90a5c9
    Packit 90a5c9
        

    tail -f /usr/local/apache2/logs/error_log

    Packit 90a5c9
    Packit 90a5c9
        

    Passen Sie diese Beispiele entsprechend Ihren ServerRoot- und PidFile-Einstellungen an.

    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Beenden

    Packit 90a5c9
    Packit 90a5c9
        
    Signal: TERM
    Packit 90a5c9
          
    apachectl -k stop
    Packit 90a5c9
        
    Packit 90a5c9
    Packit 90a5c9
        

    Das Senden des TERM- oder stop-Signals an

    Packit 90a5c9
        den Elternprozess veranlasst diesen, sofort zu versuchen, alle seine
    Packit 90a5c9
        Kindprozesse zu beenden. Es kann einige Sekunden dauern, bis alle
    Packit 90a5c9
        Kindprozesse komplett beendet sind. Danach beendet sich der Elternprozess
    Packit 90a5c9
        selbst. Alle gerade bearbeiteten Anfragen werden abgebrochen.
    Packit 90a5c9
        Es werden keine weiteren Anfragen mehr bedient.

    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Unterbrechungsfreier Neustart

    Packit 90a5c9
    Packit 90a5c9
        
    Signal: USR1
    Packit 90a5c9
          
    apachectl -k graceful
    Packit 90a5c9
        
    Packit 90a5c9
    Packit 90a5c9
        

    Das USR1- oder graceful-Signal

    Packit 90a5c9
        veranlasst den Elternprozess, die Kinder anzuweisen, sich
    Packit 90a5c9
        nach Abschluß ihrer momentanen bearbeiteten Anfrage zu beenden
    Packit 90a5c9
        (oder sich sofort zu beenden, wenn sie gerade keine Anfrage bedienen).
    Packit 90a5c9
        Der Elternprozess liest seine Konfigurationsdateien erneut ein und
    Packit 90a5c9
        öffnet seine Logdateien neu. Wenn ein Kindprozess stirbt,
    Packit 90a5c9
        ersetzt der Elternprozess ihn durch ein Kind der neuen
    Packit 90a5c9
        Konfigurations-Generation. Dieses beginnt sofort damit,
    Packit 90a5c9
        neue Anfragen zu bedienen.

    Packit 90a5c9
    Packit 90a5c9
        
    Auf bestimmten Plattformen, welche kein USR1
    Packit 90a5c9
        für einen unterbrechungsfreien Neustart erlauben, kann ein
    Packit 90a5c9
        alternatives Signal verwendet werden (wie z.B.
    Packit 90a5c9
        WINCH). Der Befehl apachectl graceful
    Packit 90a5c9
        sendet das jeweils richtige Signal für Ihre Platform.
    Packit 90a5c9
    Packit 90a5c9
        

    Der Code ist dafür ausgelegt, stets die MPM-Direktiven

    Packit 90a5c9
        zur Prozesssteuerung zu beachten, so dass die Anzahl der Prozesse
    Packit 90a5c9
        und Threads, die zur Bedienung der Clients bereitstehen, während
    Packit 90a5c9
        des Neustarts auf die entsprechenden Werte gesetzt werden.
    Packit 90a5c9
        Weiterhin wird StartServers
    Packit 90a5c9
        auf folgende Art und Weise interpretiert: Wenn nach einer Sekunde
    Packit 90a5c9
        nicht mindestens StartServers
    Packit 90a5c9
        neue Kindprozesse erstellt wurden, dann werden, um den Durchsatz zu
    Packit 90a5c9
        beschleunigen, entsprechend weitere erstellt. Auf diese Weise versucht
    Packit 90a5c9
        der Code sowohl die Anzahl der Kinder entsprechend der Serverlast
    Packit 90a5c9
        anzupassen als auch Ihre Wünsche hinsichtlich des Parameters
    Packit 90a5c9
        StartServers zu
    Packit 90a5c9
        berücksichtigen.

    Packit 90a5c9
    Packit 90a5c9
        

    Benutzer von mod_status werden feststellen,

    Packit 90a5c9
        dass die Serverstatistiken nicht auf Null
    Packit 90a5c9
        zurückgesetzt werden, wenn ein USR1 gesendet
    Packit 90a5c9
        wurde. Der Code wurde so geschrieben, dass sowohl die Zeit minimiert
    Packit 90a5c9
        wird, in der der Server nicht in der Lage ist, neue Anfragen zu
    Packit 90a5c9
        bedienen (diese werden vom Betriebssystem in eine Warteschlange
    Packit 90a5c9
        gestellt, so dass sie auf keinen Fall verloren gehen) als auch
    Packit 90a5c9
        Ihre Parameter zur Feinabstimmung berücksichtigt werden.
    Packit 90a5c9
        Um dies zu erreichen, muss die Statustabelle (Scoreboard),
    Packit 90a5c9
        die dazu verwendet wird, alle Kinder über mehrere Generationen
    Packit 90a5c9
        zu verfolgen, erhalten bleiben.

    Packit 90a5c9
    Packit 90a5c9
        

    Das Statusmodul benutzt außerdem ein G, um

    Packit 90a5c9
        diejenigen Kinder zu kennzeichen, die noch immer Anfragen bedienen,
    Packit 90a5c9
        welche gestartet wurden, bevor ein unterbrechungsfreier Neustart
    Packit 90a5c9
        veranlaßt wurde.

    Packit 90a5c9
    Packit 90a5c9
        

    Derzeit gibt es keine Möglichkeit für ein

    Packit 90a5c9
        Log-Rotationsskript, das USR1 verwendet, sicher
    Packit 90a5c9
        festzustellen, dass alle Kinder, die in ein vor dem Neustart
    Packit 90a5c9
        geöffnetes Log schreiben, beendet sind. Wir schlagen vor, dass
    Packit 90a5c9
        Sie nach dem Senden des Signals USR1 eine angemessene
    Packit 90a5c9
        Zeitspanne warten, bevor Sie das alte Log anfassen. Wenn beispielsweise
    Packit 90a5c9
        die meisten Ihrer Zugriffe bei Benutzern mit niedriger Bandbreite
    Packit 90a5c9
        weniger als 10 Minuten für eine vollständige Antwort
    Packit 90a5c9
        benötigen, dann könnten Sie 15 Minuten warten, bevor Sie auf
    Packit 90a5c9
        das alte Log zugreifen.

    Packit 90a5c9
    Packit 90a5c9
        
    Wenn Ihre Konfigurationsdatei Fehler enthält, während
    Packit 90a5c9
        Sie einen Neustart anweisen, dann wird Ihr Elternprozess nicht neu starten,
    Packit 90a5c9
        sondern sich mit einem Fehler beenden. Im Falle eines unterbrechungsfreien
    Packit 90a5c9
        Neustarts läßt er die Kinder weiterlaufen, wenn er sich beendet.
    Packit 90a5c9
        (Dies sind die Kinder, die sich "sanft beenden", indem sie ihre letzte
    Packit 90a5c9
        Anfrage erledigen.) Das verursacht Probleme, wenn Sie versuchen,
    Packit 90a5c9
        den Server neu zu starten -- er ist nicht in der Lage, sich an die Ports zu
    Packit 90a5c9
        binden, an denen er lauschen soll. Bevor Sie einen Neustart
    Packit 90a5c9
        durchführen, können Sie die Syntax der Konfigurationsdateien
    Packit 90a5c9
        mit dem Befehlszeilenargument -t überprüfen
    Packit 90a5c9
        (siehe auch httpd). Das garantiert
    Packit 90a5c9
        allerdings nicht, dass der Server korrekt starten wird. Um sowohl die
    Packit 90a5c9
        Syntax als auch die Semantik der Konfigurationsdateien zu prüfen,
    Packit 90a5c9
        können Sie versuchen, httpd als nicht-root-Benutzer
    Packit 90a5c9
        zu starten. Wenn dabei keine Fehler auftreten, wird er versuchen, seine
    Packit 90a5c9
        Sockets und Logdateien zu öffnen und fehlschlagen, da er nicht root
    Packit 90a5c9
        ist (oder weil sich der gegenwärtig laufende httpd
    Packit 90a5c9
        bereits diese Ports gebunden hat). Wenn er aus einem anderen Grund
    Packit 90a5c9
        fehlschlägt, dann liegt wahrscheinlich ein Konfigurationsfehler vor.
    Packit 90a5c9
        Der Fehler sollte behoben werden, bevor der unterbrechungsfreie Neustart
    Packit 90a5c9
        angewiesen wird.
    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Neustarten

    Packit 90a5c9
    Packit 90a5c9
        
    Signal: HUP
    Packit 90a5c9
          
    apachectl -k restart
    Packit 90a5c9
        
    Packit 90a5c9
    Packit 90a5c9
        

    Das Senden des Signals HUP oder restart

    Packit 90a5c9
        veranlaßt den Elternprozess, wie bei TERM alle seine
    Packit 90a5c9
        Kinder zu beenden. Der Elternprozess beendet sich jedoch nicht. Er liest
    Packit 90a5c9
        seine Konfigurationsdateien neu ein und öffnet alle Logdateien
    Packit 90a5c9
        erneut. Dann erzeugt er einen neuen Satz Kindprozesse und setzt die
    Packit 90a5c9
        Bedienung von Zugriffen fort.

    Packit 90a5c9
    Packit 90a5c9
        

    Benutzer von mod_status werden feststellen, dass

    Packit 90a5c9
        die Serverstatistiken auf Null gesetzt werden, wenn ein HUP
    Packit 90a5c9
        gesendet wurde.

    Packit 90a5c9
    Packit 90a5c9
        
    Wenn Ihre Konfigurationsdatei einen Fehler enthält,
    Packit 90a5c9
        während Sie einen Neustart anweisen, dann wird Ihr Elternprozess
    Packit 90a5c9
        nicht neu starten, sondern sich mit einem Fehler beenden. Lesen Sie oben,
    Packit 90a5c9
        wie Sie das vermeiden können.
    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Anhang: Signale und Wettkampfsituationen

    Packit 90a5c9
    Packit 90a5c9
        

    Vor der Version 1.2b9 des Apache existierten verschiedene

    Packit 90a5c9
        Wettkampfsituationen (race conditions), die den Neustart und
    Packit 90a5c9
        die Signale beeinflußt haben. (Einfach erklärt ist eine
    Packit 90a5c9
        Wettkampfsituation ein zeitabhängiges Problem - wenn
    Packit 90a5c9
        etwas zum falschen Zeitpunkt erfolgt oder Dinge in der falschen
    Packit 90a5c9
        Reihenfolge passieren, ist unerwartetes Verhalten die Folge. Wenn die
    Packit 90a5c9
        gleichen Dinge zur richtigen Zeit geschehen, funktioniert alles korrekt.)
    Packit 90a5c9
        Bei Architekturen mit dem "richtigen" Funktionsumfang
    Packit 90a5c9
        haben wir so viele eliminiert wie wir nur konnten. Dennoch
    Packit 90a5c9
        sollte beachtet werden, dass noch immer Wettkampfsituationen auf
    Packit 90a5c9
        bestimmten Architekturen existieren.

    Packit 90a5c9
    Packit 90a5c9
        

    Bei Architekturen, die ein ScoreBoardFile auf Platte verwenden,

    Packit 90a5c9
        besteht die Gefahr, dass die Statustabelle beschädigt wird.
    Packit 90a5c9
        Das kann zu "bind: Address already in use" ("bind: Adresse wird
    Packit 90a5c9
        bereits verwendet", nach einem HUP) oder "long lost
    Packit 90a5c9
        child came home!" ("Der verlorene Sohn ist heimgekehrt", nach einem
    Packit 90a5c9
        USR1) führen. Ersteres ist ein schwerer Fehler,
    Packit 90a5c9
        wärend letzteres lediglich bewirkt, dass der Server einen Eintrag
    Packit 90a5c9
        in der Statustabelle verliert. So kann es ratsam sein, unterbrechungsfreie
    Packit 90a5c9
        Neustarts zusammen mit einem gelegentlichen harten Neustart zu verwenden.
    Packit 90a5c9
        Diese Probleme lassen sich nur sehr schwer umgehen, aber
    Packit 90a5c9
        glücklicherweise benötigen die meisten Architekturen keine
    Packit 90a5c9
        Statustabelle in Form einer Datei. Bitte lesen Sie für Architekturen,
    Packit 90a5c9
        die sie benötigen, die Dokumentation zu ScoreBoardFile.

    Packit 90a5c9
    Packit 90a5c9
        

    Alle Architekturen haben in jedem Kindprozess eine kleine

    Packit 90a5c9
        Wettkampfsituation, welche die zweite und nachfolgende Anfragen
    Packit 90a5c9
        einer persistenten HTTP-Verbindung (KeepAlive) umfaßt. Der Prozess
    Packit 90a5c9
        kann nach dem Lesen der Anfragezeile aber vor dem Lesen der Anfrage-Header
    Packit 90a5c9
        enden. Es existiert eine Korrektur, die für 1.2 zu spät kam.
    Packit 90a5c9
        Theoretisch sollte das kein Problem darstellen, da
    Packit 90a5c9
        der KeepAlive-Client derartige Ereignisse aufgrund von
    Packit 90a5c9
        Netzwerk-Latenzzeiten und Auszeiten des Servers erwarten sollte.
    Packit 90a5c9
        In der Praxis scheint keiner von beiden beeinflußt zu werden
    Packit 90a5c9
        -- in einem Testfall wurde der Server zwanzig mal
    Packit 90a5c9
        pro Sekunde neu gestartet, während Clients das Angebot abgegrast
    Packit 90a5c9
        haben, ohne kaputte Bilder oder leere Dokumente zu erhalten.

    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9

    Verfügbare Sprachen:  de  |

    Packit 90a5c9
     en  |
    Packit 90a5c9
     es  |
    Packit 90a5c9
     fr  |
    Packit 90a5c9
     ja  |
    Packit 90a5c9
     ko  |
    Packit 90a5c9
     tr 

    Packit 90a5c9
    top

    Kommentare

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    Packit 90a5c9
    <script type="text/javascript">
    Packit 90a5c9
    var comments_shortname = 'httpd';
    Packit 90a5c9
    var comments_identifier = 'http://httpd.apache.org/docs/2.4/stopping.html';
    Packit 90a5c9
    (function(w, d) {
    Packit 90a5c9
        if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    Packit 90a5c9
            d.write('
    <\/div>');
    Packit 90a5c9
            var s = d.createElement('script');
    Packit 90a5c9
            s.type = 'text/javascript';
    Packit 90a5c9
            s.async = true;
    Packit 90a5c9
            s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    Packit 90a5c9
            (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    Packit 90a5c9
        }
    Packit 90a5c9
        else { 
    Packit 90a5c9
            d.write('
    Comments are disabled for this page at the moment.<\/div>');
    Packit 90a5c9
        }
    Packit 90a5c9
    })(window, document);
    Packit 90a5c9
    //--></script>
    Packit 90a5c9

    Copyright 2018 The Apache Software Foundation.
    Lizenziert unter der Apache License, Version 2.0.

    Packit 90a5c9

    Module | Direktiven | FAQ | Glossar | Seitenindex

    <script type="text/javascript">
    Packit 90a5c9
    if (typeof(prettyPrint) !== 'undefined') {
    Packit 90a5c9
        prettyPrint();
    Packit 90a5c9
    }
    Packit 90a5c9
    //--></script>
    Packit 90a5c9
    </body></html>