]> granicus.if.org Git - apache/commitdiff
bring these files up to date
authorAndré Malo <nd@apache.org>
Fri, 19 Mar 2004 23:28:35 +0000 (23:28 +0000)
committerAndré Malo <nd@apache.org>
Fri, 19 Mar 2004 23:28:35 +0000 (23:28 +0000)
Reviewed by: Kess

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103050 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/install.xml.de
docs/manual/mod/worker.xml.de

index b1a0188a7571284f62812de6fde601e4ba798523..b69e2bf483771ae4868650af398b68924a46fa9e 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8' ?>
 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="./style/manual.de.xsl"?>
-<!-- English revision: 1.18 -->
+<!-- English revision: 1.24 -->
 
 <!--
  Copyright 2002-2004 The Apache Software Foundation
     <code>libtool</code> und <code>autoconf</code>, um eine Umgebung zu
     schaffen, die der vieler anderer Open Source Projekte &#228;hnlich
     sieht.</p>
+
+    <p>Wenn Sie von einer Unterversion auf die n&auml;chste aktualisieren (z.B. von
+    2.0.50 auf 2.0.51), springen Sie bitte zum Abschnitt <a
+    href="#upgrading">Upgrade</a>.</p>
 </summary>
 
 <seealso><a href="invoking.html">Apache starten</a></seealso>
 <section id="overview"><title>&#220;berblick f&#252;r die Ungeduldigen</title>
 
     <table>
+      <columnspec><column width=".13"/><column width=".80"/></columnspec>
       <tr>
         <td><a href="#download">Download</a></td>
 
-        <td><code>$ lynx
-        http://www.apache.org/dist/httpd/httpd-2_1_<em>NN</em>.tar.gz</code>
+        <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
         </td>
       </tr>
 
       <dd>Suchverzeichnisse f&#252;r Header-Dateien
       ("<code>-I<em>Verzeichnis</em></code>").</dd>
 
-      <dt><code>TARGET=...</code> [Default: <code>apache</code>]</dt>
+      <dt><code>TARGET=...</code> [Default: <code>httpd</code>]</dt>
 
       <dd>Name der lauff&#228;higen Datei, die erstellt wird.</dd>
 
   <example>$ <em>PREFIX</em>/bin/apachectl stop</example>
 </section>
 
+<section id="upgrading"><title>Upgrade</title>
+
+    <p>Der erste Schritt beim Aktualisieren besteht darin, die
+    Versionsank&uuml;ndigung sowie die <code>CHANGES</code>-Datei in der
+    Quelltextdistribution zu lesen, um &Auml;nderungen zu finden, die Ihr
+    System m&ouml;glicherweise betreffen. Wenn Sie einen gr&ouml;&szlig;eren
+    Versionssprung durchf&uuml;hren (z.B. vom 1.3 auf 2.0 oder von 2.0 auf
+    2.2), wird es wahrscheinlich auch gr&ouml;&szlig;ere Unterschiede in der
+    Kompilier- und Laufzeitkonfiguration geben, die manuelle Nacharbeiten
+    erfordern. Au&szlig;erdem m&uuml;ssen alle Module aktualisiert
+    werden, um den &Auml;nderungen der Modul-API gerecht zu werden.</p>
+
+    <p>Die Aktualisierung einer Unterversion auf eine andere (z.B. von 2.0.55
+    auf 2.0.57) ist einfacher. <code>make install</code> &uuml;berschreibt
+    keine der bereits existierenden Dokumente, Log- und Konfigurationsdateien.
+    Ausserdem bem&uuml;hen sich die Entwickler, inkompatible &Auml;nderungen
+    der <code>configure</code>-Optionen, der Laufzeitkonfiguration sowie der
+    Modul-API zu vermeiden. In den meisten F&auml;llen sollten Sie in der
+    Lage sein, den gleichen <code>configure</code>-Befehl, die gleiche
+    Konfiguration und die gleichen Module wieder zu verwenden. (Das gilt erst
+    seit Version 2.0.41 -- fr&uuml;here Versionen enthielten noch inkompatible
+    &Auml;nderungen).</p>
+
+    <p>Wenn Sie den Quellcode von Ihrer letzten Installation aufgehoben haben,
+    ist ein Upgrade sogar noch einfacher. Die Datei <code>config.nice</code> im
+    Wurzelverzeichnis des alten Quelltextbaums enth&auml;lt den genauen
+    <code>configure</code>-Befehl, der verwendet wurde, um den Quellcode
+    zu konfigurieren. Um jetzt von einer Version auf die n&auml;chste zu
+    aktualisieren, kopieren Sie einfach die <code>config.nice</code> in das
+    Verzeichnis der neuen Version, passen sie bei Bedarf an, und
+    f&uuml;hren Sie sie aus:</p>
+
+    <example>
+      $ ./config.nice<br />
+      $ make<br />
+      $ make install<br />
+      $ <var>PREFIX</var>/bin/apachectl stop<br />
+      $ <var>PREFIX</var>/bin/apachectl start<br />
+    </example>
+
+    <note type="warning">Sie sollten jede neue Version immer in Ihrer Umgebung
+    testen, bevor Sie sie produktiv schalten. Beispielsweise k&ouml;nnen Sie
+    die neue Version neben der alten installieren, indem Sie ein anderes
+    <code>--prefix</code> und einen anderen Port w&auml;hlen (durch Anpassen der
+    <directive module="mpm_common">Listen</directive>-Direktive). So
+    k&ouml;nnen Sie auf eventuelle Inkompatibilit&auml;ten testen, bevor Sie
+    endg&uuml;ltig die neue Version verwenden.</note>
+</section>
+
 </manualpage>
index c1e29a622f3ed71436996f3b04ca94563b268487..3542ebc88bb0200e3e0742494815ce8412b41208 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
-<!-- English revision: 1.11 -->
+<!-- English revision: 1.17 -->
 
 <!--
  Copyright 2003-2004 The Apache Software Foundation
   und Ports</a></seealso>
 
 <section id="how-it-works"><title>Arbeitsweise</title>
-    <p>Jeder Prozess besitzt eine feste Anzahl von Threads. Um die Last
-    zu bew&auml;ltigen, passt sich der Server an, indem er die
-    Anzahl der Prozesse erh&ouml;ht oder verringert.</p>
-
-    <p>Ein einzelner Steuerprozess ist f&uuml;r den Start der
-    Kindprozesse verantwortlich. Jeder Kindprozess erstellt eine
-    feste Anzahl von Threads, wie durch die <directive
+    <p>Ein einzelner Steuerprozess (der Elternprozess) ist f&uuml;r den
+    Start der Kindprozesse verantwortlich. Jeder Kindprozess erstellt eine
+    feste Anzahl von Server-Threads, wie durch die <directive
     module="mpm_common">ThreadsPerChild</directive>-Direktive
-    angegeben. Der einzelne Thread lauscht dann auf Verbindungen und
-    bedient sie, sobald sie eintreffen.</p>
+    angegeben, sowie einen "Listener-Thread", der auf Verbindungen wartet und
+    diese an einen Server-Thread zur Bearbeitung weiterreicht, sobald sie
+    eintreffen.</p>
 
     <p>Der Apache versucht immer, einen Vorrat von <dfn>freien</dfn> oder
     unbesch&auml;ftigten Threads zu verwalten, die zur Bedienung
     maximale Anzahl Clients, die gleichzeitig bedient werden kann (d.h.
     die maximale Gesamtzahl der Threads in allen Prozessen), wird mit der
     Direktive <directive module="mpm_common">MaxClients</directive>
-    festgelegt, w&auml;hrend die maximale Anzahl Prozesse, die gestartet
-    werden kann, von der Direktive <directive
-    module="mpm_common">ServerLimit</directive> bestimmt wird. <directive
-    module="mpm_common">ServerLimit</directive> multipliziert mit <directive
-    module="mpm_common">ThreadsPerChild</directive> muss gr&ouml;&szlig;er
-    oder gleich <directive module="mpm_common">MaxClients</directive>
-    sein.</p>
+    festgelegt. Die maximale Anzahl der aktiven Kindprozesse ergibt sich aus
+    <directive module="mpm_common">MaxClients</directive> dividiert durch
+    <directive module="mpm_common">ThreadsPerChild</directive>.</p>
+
+    <p>Zwei Direktiven legen harte Limits f&uuml;r die Anzahl der aktiven
+    Kindprozesse fest und k&ouml;nnen nur ge&auml;ndert werden, indem der Server
+    komplett gestoppt und dann wieder neu gestartet wird. <directive
+    module="mpm_common">ServerLimit</directive> stellt die obere Grenze f&uuml;r
+    die Anzahl der aktiven Kindprozesse dar und muss gr&ouml;&szlig;er oder
+    gleich dem Quotienten aus <directive
+    module="mpm_common">MaxClients</directive> und <directive
+    module="mpm_common">ThreadsPerChild</directive> sein. <directive
+    module="mpm_common">ThreadLimit</directive> ist die obere Grenze f&uuml;r
+    die Anzahl der Server-Threads und muss gr&ouml;&szlig;er oder gleich
+    <directive module="mpm_common">ThreadsPerChild</directive> sein. Sofern f&uuml;r
+    diese Direktiven keine Voreinstellungen verwendet werden, sollten sie vor
+    allen anderen <module>worker</module>-Direktiven platziert werden.</p>
+
+    <p>Neben den normalen aktiven Kindprozessen gibt es m&ouml;glicherweise noch
+    zus&auml;tzliche Kindprozesse, welche gerade beendet werden, wo allerdings
+    zumindest noch ein Server-Thread eine existierende Verbindung bearbeitet.
+    Obwohl die tats&auml;chlich zu erwartende Anzahl deutlich kleiner ist,
+    k&ouml;nnen bis zu <directive module="mpm_common">MaxClients</directive>
+    solcher Prozesse auftreten. Dieses Verhalten k&ouml;nnen Sie vermeiden,
+    indem Sie die Terminierung einzelner Kindprozesse wie folgt abschalten:</p>
+
+    <ul>
+       <li>setzen Sie den Wert von <directive module="mpm_common"
+       >MaxRequestsPerChild</directive> auf Null</li>
+
+       <li>setzen Sie den Wert von <directive module="mpm_common"
+       >MaxSpareThreads</directive> auf den gleichen Wert wie <directive
+       module="mpm_common">MaxClients</directive></li>
+    </ul>
 
     <p>Eine typische Konfiguration der Prozess-Thread-Steuerung f&uuml;r
     das MPM <module>worker</module> k&ouml;nnte wie folgt aussehen:</p>
 
     <example>
+      ServerLimit         16<br />
       StartServers         2<br />
       MaxClients         150<br />
       MinSpareThreads     25<br />
       MaxSpareThreads     75<br />
-      ThreadsPerChild     25<br />
-      ServerLimit         16
+      ThreadsPerChild     25
     </example>
 
     <p>W&auml;hrend der Elternprozess unter Unix normalerweise als
 </directivesynopsis>
 <directivesynopsis location="mpm_common"><name>ThreadsPerChild</name>
 </directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ThreadStackSize</name>
+</directivesynopsis>
 <directivesynopsis location="mpm_common"><name>User</name>
 </directivesynopsis>