]> granicus.if.org Git - apache/commitdiff
update transformation
authorAndré Malo <nd@apache.org>
Fri, 19 Mar 2004 23:29:02 +0000 (23:29 +0000)
committerAndré Malo <nd@apache.org>
Fri, 19 Mar 2004 23:29:02 +0000 (23:29 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103051 13f79535-47bb-0310-9956-ffa450edef68

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

index e152d56514650b38145ccd694e11da6ac6d5449c..0d4658d9ead9a892395c48a0d21180fd1b39d2d4 100644 (file)
@@ -37,6 +37,9 @@
     <code>libtool</code> und <code>autoconf</code>, um eine Umgebung zu
     schaffen, die der vieler anderer Open Source Projekte ähnlich
     sieht.</p>
+
+    <p>Wenn Sie von einer Unterversion auf die nächste aktualisieren (z.B. von
+    2.0.50 auf 2.0.51), springen Sie bitte zum Abschnitt <a href="#upgrading">Upgrade</a>.</p>
 </div>
 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Überblick für die Ungeduldigen</a></li>
 <li><img alt="" src="./images/down.gif" /> <a href="#requirements">Anforderungen</a></li>
 <li><img alt="" src="./images/down.gif" /> <a href="#install">Installieren</a></li>
 <li><img alt="" src="./images/down.gif" /> <a href="#customize">Anpassen</a></li>
 <li><img alt="" src="./images/down.gif" /> <a href="#test">Testen</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#upgrading">Upgrade</a></li>
 </ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="invoking.html">Apache starten</a></li><li><a href="stopping.html">Beenden und Neustarten</a></li></ul></div>
 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
 <div class="section">
 <h2><a name="overview" id="overview">Überblick für die Ungeduldigen</a></h2>
 
     <table>
+      
       <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ü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ähigen Datei, die erstellt wird.</dd>
 
     Ausführen von:</p>
 
   <div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl stop</code></p></div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="upgrading" id="upgrading">Upgrade</a></h2>
+
+    <p>Der erste Schritt beim Aktualisieren besteht darin, die
+    Versionsankündigung sowie die <code>CHANGES</code>-Datei in der
+    Quelltextdistribution zu lesen, um Änderungen zu finden, die Ihr
+    System möglicherweise betreffen. Wenn Sie einen größeren
+    Versionssprung durchführen (z.B. vom 1.3 auf 2.0 oder von 2.0 auf
+    2.2), wird es wahrscheinlich auch größere Unterschiede in der
+    Kompilier- und Laufzeitkonfiguration geben, die manuelle Nacharbeiten
+    erfordern. Außerdem müssen alle Module aktualisiert
+    werden, um den Ä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> überschreibt
+    keine der bereits existierenden Dokumente, Log- und Konfigurationsdateien.
+    Ausserdem bemühen sich die Entwickler, inkompatible Änderungen
+    der <code>configure</code>-Optionen, der Laufzeitkonfiguration sowie der
+    Modul-API zu vermeiden. In den meisten Fä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ühere Versionen enthielten noch inkompatible
+    Ä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ält den genauen
+    <code>configure</code>-Befehl, der verwendet wurde, um den Quellcode
+    zu konfigurieren. Um jetzt von einer Version auf die nächste zu
+    aktualisieren, kopieren Sie einfach die <code>config.nice</code> in das
+    Verzeichnis der neuen Version, passen sie bei Bedarf an, und
+    führen Sie sie aus:</p>
+
+    <div class="example"><p><code>
+      $ ./config.nice<br />
+      $ make<br />
+      $ make install<br />
+      $ <var>PREFIX</var>/bin/apachectl stop<br />
+      $ <var>PREFIX</var>/bin/apachectl start<br />
+    </code></p></div>
+
+    <div class="warning">Sie sollten jede neue Version immer in Ihrer Umgebung
+    testen, bevor Sie sie produktiv schalten. Beispielsweise können Sie
+    die neue Version neben der alten installieren, indem Sie ein anderes
+    <code>--prefix</code> und einen anderen Port wählen (durch Anpassen der
+    <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>-Direktive). So
+    können Sie auf eventuelle Inkompatibilitäten testen, bevor Sie
+    endgültig die neue Version verwenden.</div>
 </div></div>
 <div class="bottomlang">
 <p><span>Verfügbare Sprachen: </span><a href="./de/install.html" title="Deutsch">&nbsp;de&nbsp;</a> |
index 4e9b47015cd56872f4394960173bd56e97b1a404..3ea4f5ca5c136c8d6bb7820e9cbdb90c3d77116a 100644 (file)
@@ -67,6 +67,7 @@
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
 </ul>
 <h3>Themen</h3>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="section">
 <h2><a name="how-it-works" id="how-it-works">Arbeitsweise</a></h2>
-    <p>Jeder Prozess besitzt eine feste Anzahl von Threads. Um die Last
-    zu bewältigen, passt sich der Server an, indem er die
-    Anzahl der Prozesse erhöht oder verringert.</p>
-
-    <p>Ein einzelner Steuerprozess ist für den Start der
-    Kindprozesse verantwortlich. Jeder Kindprozess erstellt eine
-    feste Anzahl von Threads, wie durch die <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>-Direktive
-    angegeben. Der einzelne Thread lauscht dann auf Verbindungen und
-    bedient sie, sobald sie eintreffen.</p>
+    <p>Ein einzelner Steuerprozess (der Elternprozess) ist für den
+    Start der Kindprozesse verantwortlich. Jeder Kindprozess erstellt eine
+    feste Anzahl von Server-Threads, wie durch die <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>-Direktive
+    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ä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 <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>
-    festgelegt, während die maximale Anzahl Prozesse, die gestartet
-    werden kann, von der Direktive <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> bestimmt wird. <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> multipliziert mit <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> muss größer
-    oder gleich <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>
-    sein.</p>
+    festgelegt. Die maximale Anzahl der aktiven Kindprozesse ergibt sich aus
+    <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> dividiert durch
+    <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>.</p>
+
+    <p>Zwei Direktiven legen harte Limits für die Anzahl der aktiven
+    Kindprozesse fest und können nur geändert werden, indem der Server
+    komplett gestoppt und dann wieder neu gestartet wird. <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> stellt die obere Grenze für
+    die Anzahl der aktiven Kindprozesse dar und muss größer oder
+    gleich dem Quotienten aus <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> und <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> sein. <code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> ist die obere Grenze für
+    die Anzahl der Server-Threads und muss größer oder gleich
+    <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> sein. Sofern für
+    diese Direktiven keine Voreinstellungen verwendet werden, sollten sie vor
+    allen anderen <code class="module"><a href="../mod/worker.html">worker</a></code>-Direktiven platziert werden.</p>
+
+    <p>Neben den normalen aktiven Kindprozessen gibt es möglicherweise noch
+    zusätzliche Kindprozesse, welche gerade beendet werden, wo allerdings
+    zumindest noch ein Server-Thread eine existierende Verbindung bearbeitet.
+    Obwohl die tatsächlich zu erwartende Anzahl deutlich kleiner ist,
+    können bis zu <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>
+    solcher Prozesse auftreten. Dieses Verhalten können Sie vermeiden,
+    indem Sie die Terminierung einzelner Kindprozesse wie folgt abschalten:</p>
+
+    <ul>
+       <li>setzen Sie den Wert von <code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> auf Null</li>
+
+       <li>setzen Sie den Wert von <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> auf den gleichen Wert wie <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code></li>
+    </ul>
 
     <p>Eine typische Konfiguration der Prozess-Thread-Steuerung für
     das MPM <code class="module"><a href="../mod/worker.html">worker</a></code> könnte wie folgt aussehen:</p>
 
     <div class="example"><p><code>
+      ServerLimit         16<br />
       StartServers         2<br />
       MaxClients         150<br />
       MinSpareThreads     25<br />
       MaxSpareThreads     75<br />
-      ThreadsPerChild     25<br />
-      ServerLimit         16
+      ThreadsPerChild     25
     </code></p></div>
 
     <p>Während der Elternprozess unter Unix normalerweise als