1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mpm_common - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
<p class="apache">Apache HTTP Server Version 2.2</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.2</a> > <a href="./">Module</a></div>
<div id="page-content">
<div id="preamble"><h1>Allgemeine Direktiven der Apache-MPMs</h1>
<div class="toplang">
<p><span>Verfügbare Sprachen: </span><a href="../de/mod/mpm_common.html" title="Deutsch"> de </a> |
<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
<div class="outofdate">Diese Übersetzung ist möglicherweise
nicht mehr aktuell. Bitte prüfen Sie die englische Version auf
die neuesten Änderungen.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Eine Sammlung von Direktiven, die in mehr als einem
Multi-Processing-Modul (MPM) implementiert sind.</td></tr>
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr></table>
</div>
<div id="quickview"><h3 class="directives">Direktiven</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#acceptmutex">AcceptMutex</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#group">Group</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#lockfile">LockFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#maxclients">MaxClients</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#maxrequestsperchild">MaxRequestsPerChild</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#user">User</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AcceptMutex" id="AcceptMutex">AcceptMutex</a>-<a name="acceptmutex" id="acceptmutex">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Vom Apache verwendete Methode zur Serialisierung mehrerer
Kindprozesse, die Anfragen an Netzwerk-Sockets entgegennehmen.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AcceptMutex Default|<var>Methode</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AcceptMutex Default</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Die Direktive <code class="directive">AcceptMutex</code> bestimmt die
Methode, die der Apache zur Serialisierung mehrerer Kindprozesse
verwendet, welche Anfragen an Netzwerk-Sockets entgegennehmen. Vor
Apache 2.0 war diese Methode nur zur Kompilierungszeit einstellbar.
Die optimale Methode ist sehr stark von der Architektur und
Plattform abhängig. Lesen Sie bitte <a href="../misc/perf-tuning.html">Perfomance-Hinweise</a> für
weitere Details.</p>
<p>Wenn die Direktive auf <code>Default</code> eingestellt ist, dann
wird die zur Kompilierungszeit gewählte Voreinstellung verwendet.
Weitere mögliche Methoden sind unten angegeben. Beachten Sie, dass
nicht alle Methoden auf allen Plattformen verfügbar sind. Wird
eine Methode angegeben, die nicht verfügbar ist, dann wird
eine Nachricht in das Fehlerprotokoll geschrieben, welche die
verfügbaren Methoden auflistet.</p>
<dl>
<dt><code>flock</code></dt>
<dd>verwendet die Systemfunktion <code>flock(2)</code>, um die
durch die <code class="directive"><a href="#lockfile">LockFile</a></code>-Direktive definierte Datei zu sperren.</dd>
<dt><code>fcntl</code></dt>
<dd>verwendet die Systemfunktion <code>fcntl(2)</code>, um die
durch die <code class="directive"><a href="#lockfile">LockFile</a></code>-Direktive definierte Datei zu sperren.</dd>
<dt><code>posixsem</code></dt>
<dd>verwendet POSIX-kompatible Semaphore, um den Mutex zu
implementieren.</dd>
<dt><code>pthread</code></dt>
<dd>verwendet gemäß der POSIX-Thread-Spezifikation
implementierte POSIX-Mutexe.</dd>
<dt><code>sysvsem</code></dt>
<dd>verwendet Semaphoren des SysV-Typs, um den Mutex zu
implementieren.</dd>
</dl>
<p>Um die bei der Kompilierung gewählte Voreinstellung für
Ihr System herauszufinden, können Sie Ihr <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> auf <code>debug</code> setzen. Dann wird der
voreingestellte <code class="directive">AcceptMutex</code> ins <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> geschrieben.</p>
<div class="warning"><h3>Warnung</h3>
<p>Auf den meisten Systemen stoppt der Server mit der Beantwortung von
Anfragen, wenn die Option <code>pthread</code> ausgewählt wurde und
ein Kindprozess unkontrolliert endet während er den
<code>AcceptCntl</code>-Mutex hält. In diesem Fall muss der Server
manuell neu gestartet werden, um wieder weiter zu arbeiten.</p>
<p>Eine Ausnahme stellt Solaris dar, da es einen Mechanismus anbietet, den
der Apache verwendet und der üblicherweise die Freigabe des Mutex
erlaubt, nachdem ein Kindprozess, der gerade einen Mutex hält,
abgestürzt ist.</p>
<p>Wenn Ihr System die Funktion
<code>pthread_mutexattr_setrobust_np()</code> bereitstellt, können
Sie wahrscheinlich die Option <code>pthread</code> problemlos
verwenden.</p>
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a>-<a name="coredumpdirectory" id="coredumpdirectory">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verzeichnis, in das der Apache zu wechseln versucht, bevor er
einen Hauptspeicherauszug erstellt</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CoreDumpDirectory <var>Verzeichnis</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für die Voreinstellung siehe Beschreibung</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Dies beeinflusst das Verzeichnis, in welches der Apache zu wechseln
versucht, bevor er einen Hauptspeicherauszug <span class="transnote">(<em>Anm.d.Ü.:</em> einen
so genannten Core-Dump)</span> erstellt. Die Voreinstellung ist das
<code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>-Verzeichnis. Da dieses
jedoch nicht für den Benutzer beschreibbar sein soll, unter dem
der Server läuft, werden normalerweise keine
Hauptspeicherauszüge geschrieben. Wenn Sie zum Debuggen
einen Hauptspeicherauszug haben möchten, können Sie
ihn mit dieser Direktive an einem anderen Ort ablegen lassen.</p>
<div class="note"><h3>Hauptspeicherauszüge unter Linux</h3>
<p>Wenn Apache als <code>root</code> startet und zu einem anderen Benutzer
wechselt, <em>deaktiviert</em> der Linux-Kernel Hauptspeicherauszüge
auch dann, wenn der Prozess in dem Verzeichnis schreiben darf. Ab Linux
2.4 reaktiviert Apache (ab 2.0.46) Hauptspeicherauszüge wieder,
jedoch nur dann, wenn Sie explizit
<code class="directive">CoreDumpDirectory</code> konfigurieren.</p>
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a>-<a name="enableexceptionhook" id="enableexceptionhook">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert einen Hook, der nach einem Absturz noch
Ausnahmefehler behandeln lassen kann</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>EnableExceptionHook Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar seit Version 2.0.49</td></tr>
</table>
<p>Diese Direktive ist aus Sicherheitsgründen nur verfügbar,
wenn der Server mit der Option <code>--enable-exception-hook</code>
konfiguriert wurde. Sie aktiviert einen Hook, der es externen Modulen
erlaubt, sich dort einzuhängen und nach dem Absturz eines
Kindprozesses noch Aktionen durchzuführen.</p>
<p>Es existieren bereits zwei Module, <code>mod_whatkilledus</code> und
<code>mod_backtrace</code>, welche diesen Hook verwenden. Weitere
Informationen hierzu finden Sie auf Jeff Trawicks <a href="http://www.apache.org/~trawick/exception_hook.html">EnableExceptionHook-Seite</a>.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Group" id="Group">Group</a>-<a name="group" id="group">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Benutzergruppe, unter welcher der Server Anfragen
beantwortet</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Group <var>Unix-Gruppe</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Group #-1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Seit Apache 2.0 nur in der globalen Server-Konfiguration
gültig</td></tr>
</table>
<p>Die Direktive <code class="directive">Group</code> bestimmt die
Benutzergruppe, unter welcher der Server Anfragen beantwortet.
Um diese Direktive zu verwenden, muss der Server als <code>root</code> gestartet
werden. Wenn Sie den Server unter einem nicht-root-Benutzer starten,
wird er nicht zur angegebenen Gruppe wechseln können und statt
dessen weiter mit der Gruppe des ursprünglichen Benutzers
laufen. <var>Unix-Gruppe</var> kann sein:</p>
<dl>
<dt>Ein Gruppenname</dt>
<dd>Verweist auf die durch den Namen angegebene Gruppe.</dd>
<dt><code>#</code> gefolgt von einer Gruppennummer.</dt>
<dd>Verweist auf die durch ihre Nummer angegebene Gruppe.</dd>
</dl>
<div class="example"><h3>Beispiel</h3><p><code>
Group www-group
</code></p></div>
<p>Es wird empfohlen, dass Sie eine neue Gruppe speziell zum Betrieb
des Servers erstellen. Einige Administratoren verwenden den Benutzer
<code>nobody</code>. Dies ist jedoch nicht immer möglich
oder gewünscht.</p>
<div class="warning"><h3>Sicherheit</h3>
<p>Setzen Sie <code class="directive">Group</code> (oder <code class="directive"><a href="#user">User</a></code>) nicht auf <code>root</code>,
solange Sie nicht ganz genau wissen, was Sie tun und welche Gefahren
Sie eingehen.</p>
</div>
<p>Wichtiger Hinweis: Die Verwendung der Direktive innerhalb von
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
wird nicht länger unterstützt. Benutzen Sie <code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> um Ihren Server
für <code class="program"><a href="../programs/suexec.html">suexec</a></code> einzurichten.</p>
<div class="note"><h3>Anmerkung</h3>
<p>Obwohl die Direktive <code class="directive">Group</code> in den MPMs
<code class="module"><a href="../mod/beos.html">beos</a></code> und <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> existiert, ist
sie dort tatsächlich eine Leeranweisung und exisitert nur
aus Kompatibilitätsgründen.</p>
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Listen" id="Listen">Listen</a>-<a name="listen" id="listen">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>IP-Adressen und Ports, an denen der Server lauscht</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Listen [<var>IP-Addresse</var>:]<var>Port</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Seit Apache 2.0 vorgeschrieben</td></tr>
</table>
<p>Die Direktive <code class="directive">Listen</code> weist den Apache an,
nur an den angegebenen IP-Adressen oder Ports zu lauschen.
Standardmäßig antwortet er auf alle Anfragen an allen
IP-Interfaces. <code class="directive">Listen</code> ist nun eine notwendige
Anweisung. Wenn sie nicht in der Konfigurationsdatei enthalten ist,
wird der Server-Start fehlschlagen. Dies ist eine Änderung
gegenüber früheren Versionen des Apache.</p>
<p>Die Direktive <code class="directive">Listen</code> weist den Server an,
ankommende Anfragen am angegebenen Port oder der
Kombination aus Adresse und Port entgegenzunehmen. Wenn nur eine Portnummer
angegeben ist, dann lauscht der Server am angegebenen Port an allen
Interfaces. Wenn sowohl eine IP-Adresse als auch ein Port angegeben
sind, dann lauscht der Server am angegeben Port und Interface.</p>
<p>Es können mehrere <code class="directive">Listen</code>-Anweisungen
verwendet werden, um eine Reihe von Adressen und Port anzugeben, an
denen gelauscht werden soll. Der Server antwortet auf Anfragen von
jedem der aufgeführten Adressen und Ports.</p>
<p>Um beispielsweise den Server Verbindungen an den beiden Ports 80 und
8000 annehmen zu lassen, verwenden Sie:</p>
<div class="example"><p><code>
Listen 80<br />
Listen 8000
</code></p></div>
<p>Um den Server Verbindungen an zwei angegebenen Interfaces und Ports
annehmen zu lassen, verwenden Sie:</p>
<div class="example"><p><code>
Listen 192.170.2.1:80<br />
Listen 192.170.2.5:8000
</code></p></div>
<p>IPv6-Adressen müssen wie in dem folgenden Beispiel in eckige
Klammern eingeschlossen werden:</p>
<div class="example"><p><code>
Listen [2001:db8::a00:20ff:fea7:ccea]:80
</code></p></div>
<div class="note"><h3>Fehlermöglichkeit</h3>
Mehrere <code class="directive">Listen</code>-Direktiven für gleiche
IP-Adresse und Port führen zur Fehlermeldung
<code>Address already in use</code> <span class="transnote">(<em>Anm.d.Ü.:</em> Adresse schon in
Benutzung)</span>.
</div>
<h3>Siehe auch</h3>
<ul>
<li><a href="../dns-caveats.html">DNS-Probleme</a></li>
<li><a href="../bind.html">Bestimmen, welche Adressen und Ports der
Apache verwendet</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a>-<a name="listenbacklog" id="listenbacklog">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximale Länge der Warteschlange schwebender
Verbindungen</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ListenBacklog <var>backlog</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ListenBacklog 511</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Die maximale Länge der Warteschlange schwebender Verbindungen.
Üblicherweise ist keine Feineinstellung notwendig oder sinnvoll,
auf einigen System kann es jedoch gewünscht sein, diesen Wert bei
TCP-SYN-Angriffen zu erhöhen. Beachten Sie auch die Beschreibung des
backlog-Parameters der Systemfunktion <code>listen(2)</code>.</p>
<p>Der Wert wird vom Betriebssystem oft auf eine niedrigere
Einstellung begrenzt. Dies variiert von Betriebssystem zu Betriebssystem.
Beachten Sie auch, dass viele Betriebssyteme nicht genau beachten,
was für backlog angegeben ist, jedoch einen Wert basierend auf der
Angabe (normalerweiseweise jedoch größer als diese) verwenden.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="LockFile" id="LockFile">LockFile</a>-<a name="lockfile" id="lockfile">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ablageort der Lock-Datei für die Serialisierung von
entgegengenommenen Anfragen</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LockFile <var>Dateiname</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LockFile logs/accept.lock</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Die Direktive <code class="directive">LockFile</code> legt den Pfad zur
Lock-Datei fest, die verwendet wird, wenn der Apache mit einer der
<code class="directive"><a href="#acceptmutex">AcceptMutex</a></code>-Einstellungen
<code>fcntl</code> oder <code>flock</code> verwendet wird. Die Anweisung
sollte normalerweise bei der Voreinstellung belassen werden.
Der Hauptgrund, sie zu ändern, ist, wenn das
<code>logs</code>-Verzeichnis auf einem per NFS-eingebundenen Laufwerk
liegt, da <strong>die Lock-Datei auf einer lokalen Platte abgelegt sein
muss</strong>. Die PID <span class="transnote">(<em>Anm.d.Ü.:</em> Prozess-ID)</span> des
Hauptserverprozesses wird automatisch an den Dateinamen angehängt.</p>
<div class="warning"><h3>Sicherheit</h3>
<p>Es ist am besten, die Ablage in einem allgemein <span class="transnote">(<em>Anm.d.Ü.:</em> für
jedermann)</span> beschreibbaren
Verzeichnis wie <code>/var/tmp</code> <em>zu vermeiden</em>, da
ein Denial-of-Servide-Angriff gestartet werden könnte und der
Server am Start gehindert werden könnte, indem eine Lock-Datei
mit dem gleichen Namen erstellt wird, wie der Server sie zu erstellen
versuchen würde.</p>
</div>
<h3>Siehe auch</h3>
<ul>
<li><code class="directive"><a href="#acceptmutex">AcceptMutex</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="MaxClients" id="MaxClients">MaxClients</a>-<a name="maxclients" id="maxclients">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximale Anzahl der Kindprozesse, die zur Bedienung von Anfragen
gestartet wird</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxClients <var>Anzahl</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Die Direktive <code class="directive">MaxClients</code> setzt die Grenze
für die Anzahl gleichzeitig bedienter Anfragen. Jeder
Verbindungsversuch oberhalb der <code class="directive">MaxClients</code>-Begrenzung wird üblicherweise in eine
Warteschlange gestellt, bis zu einer Anzahl basierend auf der
<code class="directive"><a href="#listenbacklog">ListenBacklog</a></code>-Anweisung.
Sobald ein Kindprozess am Ende einer anderen Anfrage freigegeben wird,
wird die Verbindung bedient.</p>
<p>Für Server ohne Thread-Unterstützung (<em>z.B.</em>
<code class="module"><a href="../mod/prefork.html">prefork</a></code>) wird <code class="directive">MaxClients</code> als
maximale Anzahl der Kindprozesse verstanden, die zur Bedienung von
Anfragen gestartet werden. Die Voreinstellung ist <code>256</code>. Um
diesen Wert zu erhöhen, muss auch <code class="directive"><a href="#serverlimit">ServerLimit</a></code> angehoben werden.</p>
<p>Bei Servern mit Thread-Unterstützung und bei Hybrid-Servern
(<em>z.B.</em> <code class="module"><a href="../mod/beos.html">beos</a></code> oder <code class="module"><a href="../mod/worker.html">worker</a></code>)
begrenzt <code class="directive">MaxClients</code> die Gesamtzahl der Threads,
die für die Bedienung von Anfragen verfügbar sind.
Die Voreinstellung für <code class="module"><a href="../mod/beos.html">beos</a></code> ist <code>50</code>.
Bei Hybrid-MPMs ist die Voreinstellung <code>16</code> (<code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multipliziert mit
dem Wert <code>25</code> (<code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Um <code class="directive">MaxClients</code>
auf einen Wert zu erhöhen, der mehr als 16 Prozesse erfordert,
müssen Sie daher auch <code class="directive"><a href="#serverlimit">ServerLimit</a></code> anheben.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a>-<a name="maxmemfree" id="maxmemfree">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximale Menge des Arbeitsspeichers, den die
Haupt-Zuteilungsroutine verwalten darf, ohne <code>free()</code>
aufzurufen</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxMemFree <var>KBytes</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxMemFree 0</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr>
</table>
<p>Die Direktive <code class="directive">MaxMemFree</code> gibt die maximale
Menge freier Kilobytes an, welche die Haupt-Zuteilungsroutine verwalten
darf, ohne <code>free()</code> aufzurufen. Wenn keine Angabe gemacht wird,
oder Null angegeben ist, wird dieser Wert nicht eingeschränkt.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="MaxRequestsPerChild" id="MaxRequestsPerChild">MaxRequestsPerChild</a>-<a name="maxrequestsperchild" id="maxrequestsperchild">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Obergrenze für die Anzahl von Anfragen, die ein einzelner
Kindprozess während seines Lebens bearbeitet</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRequestsPerChild <var>number</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxRequestsPerChild 10000</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Die Direktive <code class="directive">MaxRequestsPerChild</code> legt die
Grenze für die Anzahl von Anfragen fest, die ein einzelner
Kinprozess während seines Lebens bearbeitet. Nach
<code class="directive">MaxRequestsPerChild</code> Anfragen stirbt der
Kindprozess. Wenn <code class="directive">MaxRequestsPerChild</code>
<code>0</code> ist, endet der Prozess niemals.</p>
<div class="note"><h3>Abweichende Voreinstellungen</h3>
<p>Die Voreinstellung für <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> und
<code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> ist <code>0</code>.</p>
</div>
<p>Die Begrenzung von <code class="directive">MaxRequestsPerChild</code> auf einen
Wert ungleich Null hat zwei vorteilhafte Auswirkungen:</p>
<ul>
<li>sie begrenzt die Menge an Arbeitsspeicher, die ein Prozess
durch (versehentliche) Speicherlecks verbrauchen kann.</li>
<li>das Festlegen einer endlichen Lebensdauer von Prozessen hilft, die
Anzahl von Prozessen zu reduzieren, wenn die Serverlast
zurückgeht.</li>
</ul>
<div class="note"><h3>Anmerkung</h3>
<p>Bei <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code>-Anfragen
wird nur die erste Anfrage für diese begrenzung gezählt.
Eigentlich wird nur die Begrenzung für die Anzahl der
<em>Verbindungen</em> pro Kindprozess geändert.</p>
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a>-<a name="maxsparethreads" id="maxsparethreads">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximale Anzahl unbeschäftigter Threads</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxSpareThreads <var>Anzahl</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Maximale Anzahl unbeschäftigter Threads. Die verschiedenen MPMs
behandeln diese Anweisung unterschiedlich.</p>
<p>Die Voreinstellung für <code class="module"><a href="../mod/perchild.html">perchild</a></code> ist
<code>MaxSpareThreads 10</code>. Das MPM überwacht die Anzahl der
unbeschäftigten Threads auf der Basis einzelner Kindprozesse. Wenn
zu viele unbeschäftigte Threads in einem Kindprozess existieren,
beendet der Server Threads innerhalb dieses Kindprozesses.</p>
<p>Die Voreinstellung für <code class="module"><a href="../mod/worker.html">worker</a></code>,
<code class="module"><a href="../mod/leader.html">leader</a></code> und <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> ist
<code>MaxSpareThreads 250</code>. Diese MPMs behandeln Threads
auf einer serverweiten Basis. Wenn zu viele unbeschäftigte Threads
im Server existieren, dann werden solange Kindprozesse beendet, bis
die Anzahl der unbeschäftigten Threads kleiner als der
angegebene Wert ist.</p>
<p>Die Voreinstellung für <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> ist
<code>MaxSpareThreads 100</code>. Da dieses MPM nur einen einzigen
Prozess ausführt, ist die Zählung überschüssiger
Threads ebenfalls serverweit.</p>
<p><code class="module"><a href="../mod/beos.html">beos</a></code> and <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> arbeiten
ähnlich wie <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Die Voreinstellung
für <code class="module"><a href="../mod/beos.html">beos</a></code> ist <code>MaxSpareThreads 50</code>.
Die Voreinstellung für <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> ist
<code>10</code>.</p>
<div class="note"><h3>Restriktionen</h3>
<p>Der Wertebereich von <code class="directive">MaxSpareThreads</code>
ist eingeschränkt. Apache korrigiert den angegebenen Wert
automatisch gemäß den folgenden Regeln:</p>
<ul>
<li><code class="module"><a href="../mod/perchild.html">perchild</a></code> verlangt, dass <code class="directive">MaxSpareThreads</code> kleiner oder gleich <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> ist.</li>
<li><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> verlangt einen Wert größer
als <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>.</li>
<li>Bei <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> und
<code class="module"><a href="../mod/worker.html">worker</a></code> muss der Wert größer oder gleich
der Summe aus <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> und
<code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> sein.</li>
</ul>
</div>
<h3>Siehe auch</h3>
<ul>
<li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li>
<li><code class="directive"><a href="#startservers">StartServers</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a>-<a name="minsparethreads" id="minsparethreads">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Minimale Anzahl unbeschäftigter Threads, die zur
Bedienung von Anfragespitzen zur Verfügung stehen</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MinSpareThreads <var>Anzahl</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Minimale Anzahl unbeschäftigter Threads, um Anfragespitzen
zu bedienen. Die verschiedenen MPMs behandeln die Anweisung
unterschiedlich.</p>
<p><code class="module"><a href="../mod/perchild.html">perchild</a></code> verwendet die Voreinstellung
<code>MinSpareThreads 5</code> und überwacht die Anzahl der
unbeschäftigten Threads auf der Basis einzelner Kindprozesse. Wenn
in einem Kindprozess nicht genügend unbeschäftigte
Threads vorhanden sind, erstellt der Server neue Threads innerhalb
dieses Kindprozesses. Wenn Sie also <code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> auf <code>10</code> und <code class="directive">MinSpareThreads</code> auf einen Wert von <code>5</code> setzen,
haben Sie mindestens 50 unbeschäftigte Threads auf Ihrem
System.</p>
<p><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code> und
<code class="module"><a href="../mod/threadpool.html">threadpool</a></code> verwenden eine Voreinstellung von
<code>MinSpareThreads 75</code> und behandeln unbeschäftigte
Threads auf serverweiter Basis. Wenn nicht genügend
unbeschäftigte Threads im Server vorhanden sind, dann
werden solange Kindprozesse erzeugt, bis die Anzahl unbeschäftigter
Threads größer als der angegebene Wert ist.</p>
<p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> verwendet die Voreinstellung
<code>MinSpareThreads 10</code> und verfolgt dies serverweit, da
es ein Einzelprozess-MPM ist.</p>
<p><code class="module"><a href="../mod/beos.html">beos</a></code> und <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> arbeiten
ähnlich wie <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Die Voreinstellung
für <code class="module"><a href="../mod/beos.html">beos</a></code> ist <code>MinSpareThreads 1</code>.
Die Voreinstellung für <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> ist
<code>5</code>.</p>
<h3>Siehe auch</h3>
<ul>
<li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li>
<li><code class="directive"><a href="#startservers">StartServers</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="PidFile" id="PidFile">PidFile</a>-<a name="pidfile" id="pidfile">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Datei, in welcher der Server die Prozess-ID des Daemons
ablegt</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>PidFile <var>Dateiname</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Die Direktive <code class="directive">PidFile</code> bestimmt die Datei,
in welcher der Server die Prozess-ID des Daemons ablegt. Wenn der
Dateiname nicht absolut angegeben wird, wird er relativ zu
<code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> interpretiert.</p>
<div class="example"><h3>Beispiel</h3><p><code>
PidFile /var/run/apache.pid
</code></p></div>
<p>Es ist oft hilfreich, dem Server ein Signal senden zu können,
damit er seine <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>s und
<code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code>s
schließt und dann neu öffnet und seine
Konfigurationsdateien neu einliest. Dies kann durch Senden eines
SIGHUP-Signals (kill -1) an die Prozess-ID geschehen, die im
<code class="directive">PidFile</code> eingetragen ist.</p>
<p>Die <code class="directive">PidFile</code>-Datei unterliegt den
gleichen Warnungen über die Ablage von Protokolldateien
und <a href="../misc/security_tips.html#serverroot">Sicherheit</a>.</p>
<div class="note"><h3>Anmerkung</h3>
<p>Ab Apache 2 wird empfohlen, nur das Skript <code class="program"><a href="../programs/apachectl.html">apachectl</a></code> zum (Neu-)Starten und Stoppen des Servers zu
verwenden.</p>
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a>-<a name="scoreboardfile" id="scoreboardfile">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ablageort der Datei, die zur Speicherung von Daten zur
Koordinierung der Kindprozesse verwendet wird</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScoreBoardFile <var>Dateipfad</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ScoreBoardFile logs/apache_status</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Apache verwendet ein Scoreboard zur Kommunikation zwischen
seinen Eltern- und Kindprozessen. Einige Architekturen erfordern
eine Datei zur Unterstützung der Kommunikation. Wenn die Datei
undefiniert bleibt, versucht der Apache zuerst, das Scoreboard im
Arbeitsspeicher zu erstellen (Verwendung von anonymem Shared-Memory),
und versucht bei einem Fehlschlag anschließend die Datei auf
der Festplatte zu erstellen (Verwendung von Datei-basiertem
Shared-Memory). Die Angabe dieser Direktive veranlaßt den
Apache stets, die Datei auf der Festplatte zu erstellen.</p>
<div class="example"><h3>Beispiel</h3><p><code>
ScoreBoardFile /var/run/apache_status
</code></p></div>
<p>Datei-basiertes Shared-Memory ist für Applikationen von
Drittanbietern hilfreich, die direkten Zugriff auf das Scoreboard
benötigen.</p>
<p>Wenn Sie eine <code class="directive">ScoreBoardFile</code>-Anweisung
verwenden, erreichen Sie eventuell eine höhere Geschwindigkeit, wenn
Sie die Datei auf einer RAM-Disk ablegen. Achten Sie darauf, die
gleichen Warnungen wie über die Ablage von Protokolldateien und
<a href="../misc/security_tips.html">Sicherheit</a> zu beherzigen.</p>
<h3>Siehe auch</h3>
<ul>
<li><a href="../stopping.html">Apache beenden und neu
starten</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a>-<a name="sendbuffersize" id="sendbuffersize">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Größe des TCP-Puffers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SendBufferSize <var>Bytes</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>SendBufferSize 0</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Der Server setzt die Größe des TCP-Puffers auf die
angegebene Anzahl Bytes. Dies ist sehr hilfreich, um Voreinstellungen
alter Standardbetriebssysteme für Hochgeschwindigkeitsverbindungen
mit hoher Latenzzeit anzuheben (<em>d.h.</em> 100ms oder so, wie bei
Interkontinentalverbindungen).</p>
<p>Wird der Wert auf <code>0</code> gesetzt, dann verwendet der Server
die Voreinstellung des Betriebssystems.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a>-<a name="serverlimit" id="serverlimit">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Obergrenze für die konfigurierbare Anzahl von
Prozessen</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerLimit <var>Anzahl</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Bei dem MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> bestimmt die Direktive
den während der Lebensdauer des Apache-Prozesses maximal
einstellbaren Wert für <code class="directive"><a href="#maxclients">MaxClients</a></code>. Beim MPM
<code class="module"><a href="../mod/worker.html">worker</a></code> bestimmt die Direktive in Verbindung mit
<code class="directive"><a href="#threadlimit">ThreadLimit</a></code> den Maximalwert
für <code class="directive"><a href="#maxclients">MaxClients</a></code>
für die Lebensdauer des Apache-Prozesses. Jeder Versuch, diese
Anweisung während eines Neustarts zu ändern, wird ignoriert.
<code class="directive"><a href="#maxclients">MaxClients</a></code> kann jedoch
während eines Neustarts geändert werden.</p>
<p>Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive
walten. Wenn <code class="directive">ServerLimit</code> auf einen Wert deutlich
höher als notwendig gesetzt wird, wird zusätzliches,
unbenutztes Shared-Memory belegt. Wenn sowohl
<code class="directive">ServerLimit</code> als auch <code class="directive"><a href="#maxclients">MaxClients</a></code> auf Werte gesetzt werden, die
größer sind, als das System sie handhaben kann, dann kann
der Apache möglicherweise nicht starten, oder das System kann
instabil werden.</p>
<p>Verwenden Sie die Direktive bei dem MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>
nur, wenn Sie <code class="directive"><a href="#maxclients">MaxClients</a></code>
auf mehr als 256 (Voreinstellung) setzen müssen. Setzen Sie den
Wert nicht höher als den Wert, den Sie für <code class="directive"><a href="#maxclients">MaxClients</a></code> angeben möchten.</p>
<p>Verwenden Sie die Direktive bei <code class="module"><a href="../mod/worker.html">worker</a></code>,
<code class="module"><a href="../mod/leader.html">leader</a></code> und <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> nur, wenn Ihre
<code class="directive"><a href="#maxclients">MaxClients</a></code>- und
<code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>-Einstellungen
mehr als 16 Serverprozesse (Voreinstellung) erfordern. Setzen Sie den
Wert dieser Direktive nicht höher, als die Anzahl der Serverprozesse,
die dafür erforderlich ist, was Sie bei <code class="directive"><a href="#maxclients">MaxClients</a></code> und
<code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> angeben
möchten.</p>
<p>Verwenden Sie die Direktive beim MPM <code class="module"><a href="../mod/perchild.html">perchild</a></code> nur,
wenn Sie <code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> auf einen
Wert größer als 8 (Voreinstellung) setzen müssen.</p>
<div class="note"><h3>Anmerkung</h3>
<p>Eine feste Begrenzung von <code>ServerLimit 20000</code> ist in den
Server einkompiliert (bei dem MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> 200000).
Dies soll unangenehme Effekte durch Tippfehler verhindern.</p>
</div>
<h3>Siehe auch</h3>
<ul>
<li><a href="../stopping.html">Apache beenden und neu
starten</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="StartServers" id="StartServers">StartServers</a>-<a name="startservers" id="startservers">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Kindprozesse des Servers, die beim Start erstellt
werden</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StartServers <var>Anzahl</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Die Direktive <code class="directive">StartServers</code> bestimmt
die Anzahl der Kindprozesse des Servers, die beim Start erstellt
werden. Da die Anzahl der Prozesse abhängig von der Last
dynamisch kontrolliert wird, besteht normalerweise wenig
Grund für eine Änderung dieses Parameters.</p>
<p>Die Voreinstellung unterscheidet sich von MPM zu MPM. Bei
<code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> und
<code class="module"><a href="../mod/worker.html">worker</a></code> ist die Voreinstellung
<code>StartServers 3</code>. Die Voreinstellung bei
<code class="module"><a href="../mod/prefork.html">prefork</a></code> ist <code>5</code> und bei
<code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> <code>2</code>.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="StartThreads" id="StartThreads">StartThreads</a>-<a name="startthreads" id="startthreads">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Threads, die beim Start erstellt werden</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StartThreads <var>Anzahl</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code></td></tr>
</table>
<p>Anzahl der Threads, die beim Start erstellt werden. Da die Anzahl
der Threads abhängig von der Last dynamisch kontrolliert wird,
besteht normalerweise wenig Grund für eine Änderung
dieses Parameters.</p>
<p>Die Voreinstellung für <code class="module"><a href="../mod/perchild.html">perchild</a></code> ist
<code>StartThreads 5</code>. Die Direktive setzt während des
Starts die Anzahl der Threads pro Prozess.</p>
<p>Die Voreinstellung bei <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> ist
<code>StartThreads 50</code>. Da hier lediglich ein einzelner Prozess
existiert, ist dies die Gesamtzahl der Threads, die beim Start
erstellt wird, um Anfragen zu bedienen.</p>
<p>Die Voreinstellung für <code class="module"><a href="../mod/beos.html">beos</a></code> ist <code>StartThreads
10</code>. Die Einstellung reflektiert ebenfalls die Gesamtzahl der Threads, die
beim Start erstellt werden, um Anfragen zu bedienen.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a>-<a name="threadlimit" id="threadlimit">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die Obergrenze der konfigurierbaren Anzahl von Threads
pro Kindprozess</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadLimit <var>Anzahl</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar für <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> ab
Apache 2.0.41</td></tr>
</table>
<p>Die Direktive bestimmt den während der Lebensdauer des
Apache-Prozesses maximal einstellbaren Wert für
<code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>. Jeder
Versuch, diese Direktive während eines Neustarts zu ändern,
wird ignoriert. <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>
kann jedoch während eines Neustarts modifiziert werden bis zu dem
Wert dieser Anweisung.</p>
<p>Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive
walten. Wenn <code class="directive">ThreadLimit</code> auf einen Wert
deutlich höher als <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> gesetzt wird, wird
zusätzliches, ungenutztes Shared-Memory belegt. Wenn sowohl
<code class="directive">ThreadLimit</code> als auch <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> auf Werte gesetzt werden,
die größer sind, als das System sie handhaben kann, dann kann
der Apache möglicherweise nicht starten oder das System kann
instabil werden. Setzen Sie den Wert dieser Direktive nicht höher
als Ihre größte erwartete Einstellung für
<code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>
während der aktuellen Ausführung des Apache.</p>
<p>Die Voreinstellung für <code class="directive">ThreadLimit</code> ist
<code>1920</code> wenn sie zusammen mit <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>
verwendet wird, und <code>64</code> bei der Verwendung mit anderen
MPMs.</p>
<div class="note"><h3>Anmerkung</h3>
<p>Eine feste Begrenzung von <code>ThreadLimit 20000</code>
(oder <code>ThreadLimit 15000</code> bei <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>)
ist in den Server einkompiliert. Dies soll unangenehme Effekte durch
Tippfehler verhindern.</p>
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a>-<a name="threadsperchild" id="threadsperchild">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Threads, die mit jedem Kindprozess gestartet
werden</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadsPerChild <var>Anzahl</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
</table>
<p>Die Direktive legt die Anzahl der Threads fest, die mit jedem
Kindprozess gestartet werden. Der Kindprozess erstellt diese Threads
beim Start und erstellt später keine weiteren mehr. Wenn Sie ein
MPM wie <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> verwenden, wo nur ein
Kindprozess existiert, dann sollte diese Angabe hoch genug sein,
die gesamte Last des Servers zu bewältigen. Wenn Sie ein MPM
wie <code class="module"><a href="../mod/worker.html">worker</a></code> verwenden, wo mehrere Kindprozesse
existieren, dann sollte die <em>Gesamt</em>zahl der Thread groß
genug sein, die übliche Last auf dem Server zu bewältigen.</p>
<p>Die Voreinstellung für <code class="directive">ThreadsPerChild</code> ist
<code>64</code>, wenn <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> verwendet wird, und
<code>25</code> bei der Verwendung der anderen MPMs.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a>-<a name="threadstacksize" id="threadstacksize">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Die Größe des Stacks in Bytes, der von Threads
verwendet wird, die Client-Verbindungen bearbeiten.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadStackSize <var>size</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>65536 unter NetWare; variiert bei anderen Betriebssystemen.</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar seit Version 2.1</td></tr>
</table>
<p>Die Direktive <code class="directive">ThreadStackSize</code> legt die
Größe des Stacks (für Autodaten) der Threads fest, die
Client-Verbindungen bearbeiten und Module aufrufen, welche bei der
Verarbeitung dieser Verbindungen helfen. In den meisten Fällen ist die
Voreinstellung des Betriebssystems angemessen, doch unter bestimmten
Umständen kann es sinnvoll sein, den Wert anzupassen:</p>
<ul>
<li>Auf Plattformen mit einer relativ kleinen Voreingestellung für
die Größe des Thread-Stacks (z.B. HP-UX) kann der Apache bei
der Verwendung einiger Drittanbietermodule, die einen relativ hohen Bedarf
an Speicherplatz haben, abstürzen. Ebendiese Module arbeiten
möglicherweise problemlos auf anderen Plattformen, wo der
voreingestellte Thread-Stack größer ist. Derartige
Abstürze können Sie vermeiden, indem Sie
<code class="directive">ThreadStackSize</code> auf einen höheren Wert als die
Betriebssystemvoreinstellung setzen. Eine solche Anpassung ist nur
notwendig, wenn es vom Anbieter des Moduls so spezifiziert wurde oder die
Diagnose eines Apache-Absturzes ergeben hat, das die
Thread-Stackgröße zu klein war.</li>
<li>Auf Plattformen, wo die voreingestellte Thread-Stackgröße
für die Webserverkonfiguration deutlich größer als
notwendig ist, kann eine größere Anzahl von Threads pro
Kindprozess erreicht werden, wenn <code class="directive">ThreadStackSize</code>
auf einen Wert kleiner als die Betriebssystemvoreinstellung gesetzt wird.
Da es einzelne Anfragen geben kann, die mehr Stack zur Verarbeitung
benötigen, sollte eine derartige Korrektur ausschließlich in
Testumgebungen zum Einsatz kommen, auf denen die gesamte
Webserververarbeitung ausprobiert werden kann. Eine Änderung der
Webserverkonfiguration kann den aktuellen Wert der
<code class="directive">ThreadStackSize</code> ungültig machen.</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="User" id="User">User</a>-<a name="user" id="user">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Die Benutzerkennung, unter welcher der Server Anfragen
beantwortet</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>User <var>Unix-User-ID</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>User #-1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Seit Apache 2.0 nur in der globalen Server-Konfiguration
gültig</td></tr>
</table>
<p>Die Direktive <code class="directive">User</code> legt die Benutzerkennung
fest, mit der der Server Anfragen beantwortet. Um diese Anweisung
zu verwenden, muss der Server als <code>root</code> gestartet werden.
Wenn Sie den Server unter einem nicht-root-Benutzer starten, kann
er nicht zu dem minder privilegierten Benutzer wechseln und wird statt
dessen weiter mit der ursprünglichen Benutzerkennung laufen.
Wenn Sie den Server als <code>root</code> starten, dann ist es normal,
dass der Elternprozess als root weiterläuft.
<var>Unix-User-ID</var> kann sein:</p>
<dl>
<dt>Ein Benutzername</dt>
<dd>Verweist auf den durch Namen angegebenen Benutzer.</dd>
<dt># gefolgt von einer Benutzernummer.</dt>
<dd>Verweist auf einen durch eine Nummer angegebenen Benutzer.</dd>
</dl>
<p>Der Benutzer sollte keine Rechte besitzen, die dazu führen,
dass er in der Lage ist, auf Dateien zuzugreifen, die nicht dafür
bestimmt sind, für die Außenwelt sichtbar zu sein.
Gleichermaßen sollte der Benutzer nicht in der Lage sein,
Code auszuführen, der nicht für HTTP-Anfragen bestimmt ist.
Es wird empfohlen, einen neuen Benutzer und eine neue Gruppe speziell
zur Ausführung des Servers zu erstellen. Einige Administratoren
verwenden den Benutzer <code>nobody</code>. Dies ist jedoch nicht
immer wünschenswert, da der Benuter <code>nobody</code> andere
Rechte auf dem System besitzen kann.</p>
<div class="warning"><h3>Sicherheit</h3>
<p>Setzen Sie <code class="directive">User</code> (oder <code class="directive"><a href="#group">Group</a></code>) nicht auf <code>root</code>,
solange Sie nicht genau wissen, was Sie tun, und welches die Gefahren
sind.</p>
</div>
<p>Beim MPM <code class="module"><a href="../mod/perchild.html">perchild</a></code>, das dafür gedacht ist,
virtuelle Hosts unter verschiedenen Benutzerkennungen auszuführen,
bestimmt die Direktive <code class="directive">User</code> die
Benutzerkennung für den Hauptserver und bildet den Rückfallwert
für <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>-Abschnitte ohne eine
<code class="directive"><a href="../mod/perchild.html#assignuserid">AssignUserID</a></code>-Anweisung.</p>
<p>Wichtiger Hinweis: Die Verwendung dieser Direktive innerhalb von
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> wird
nicht mehr unterstützt. Benutzen Sie <code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>, um Ihren Server
für <code class="program"><a href="../programs/suexec.html">suexec</a></code> einzurichten.</p>
<div class="note"><h3>Anmerkung</h3>
<p>Obwohl die Direktive <code class="directive">User</code> in den MPMs
<code class="module"><a href="../mod/beos.html">beos</a></code> und <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> existiert, ist
sie dort tatsächlich eine Leeranweisung und exisitert nur
aus Kompatibilitätsgründen.</p>
</div>
</div>
</div>
<div class="bottomlang">
<p><span>Verfügbare Sprachen: </span><a href="../de/mod/mpm_common.html" title="Deutsch"> de </a> |
<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div id="footer">
<p class="apache">Copyright 2007 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html>
|