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
|
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
<!-- English Revision: 1174747:1602764 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
========================================================== -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="mpm.xml.meta">
<title>Çok Süreçlilik Modülleri (MPM’ler)</title>
<summary>
<p>Bu belgede Çok Süreçlilik Modülü denince ne anlaşıldığı ve bunların
Apache HTTP Sunucusu tarafından nasıl kullanıldıkları açıklanmıştır.</p>
</summary>
<section id="introduction"><title>Giriş</title>
<p>Apache HTTP Sunucusu çok çeşitli platformlar üstünde farklı ortamlarda
çalışabilen güçlü ve esnek bir HTTP sunucusu olarak tasarlanmıştır.
Farklı platformlar ve farklı ortamlar çoğunlukla farklı özellikler veya
aynı özelliğin en yüksek verimlilikle gerçeklenmesi için farklı yöntemler
gerektirir. Apache httpd, geniş ortam çeşitliliğini daima modüler
tasarımı sayesinde uzlaştırmıştır. Bu tasarım, site yöneticilerine,
sunucularında bulunmasını istedikleri özellikleri derleme sırasında veya
çalışma anında gerekli modülleri yüklemek suretiyle seçebilme imkanı
verir.</p>
<p>Apache HTTP Sunucusu 2.0, bu modüler tasarımı sunucunun en temel
işlevlerine kadar indirmiştir. Sunucu, Çok Süreçlilik Modülleri adı
verilen ve makine üzerindeki ağ portlarının bağlanmasından, isteklerin
kabul edilmesinden ve bu istekleri yanıtlayacak çocuklara dağıtmaktan
sorumlu olan modüllerin seçimine imkan verecek bir yapılanma ile
gelir.</p>
<p>Sunucunun modüler tasarımının bu seviyede genişletilmesi iki önemli
yarar sağlar:</p>
<ul>
<li>Apache httpd geniş çeşitlilikteki işletim sistemlerini daha temiz ve
daha verimli bir şekilde destekleyebilmektedir. Özellikle,
<module>mpm_winnt</module> modülü, Apache httpd 1.3’te kullanılan POSIX
katmanının yerine işletim sistemine özgü özellikleri
kullanabildiğinden, Apache HTTP Sunucusunun Windows sürümü artık çok
daha verimli bir duruma gelmiştir. Aynı fayda özelleştirilmiş MPM’lerle
diğer işletim sistemlerine de sağlanmıştır.</li>
<li>Sunucu, belli bir sitenin ihtiyaçlarına uygun olarak daha iyi
kişiselleştirilebilmektedir. Örneğin, eski yazılım ile uyumluluk ve
kararlılığa önem veren siteler <module>prefork</module> modülünü
kullanabilirken, daha geniş ölçeklenebilirlik gerektiren siteler
<module>worker</module> veya <module>event</module> gibi evreli MPM
modüllerinden birini seçebilmektedir.</li>
</ul>
<p>Kullanıcı açısından MPM’lerin diğer Apache httpd modüllerinden görünüşte
bir farkı yoktur. Asıl fark sunucuya yüklenebilecek azami MPM modülü
sayısının bir ve yalnız bir olarak sınırlanmış olmasıdır. Mevcut MPM
modülleri <a href="mod/">modül dizini</a> sayfasında listelenmiştir.</p>
</section>
<section id="defaults"><title>Öntanımlı MPM’ler</title>
<p>Aşağıdaki tabloda çeşitli işletim sistemlerinde öntanımlı olan MPM’ler
listelenmiştir. Derleme sırasında başka bir seçim yapmadığınız takdirde
bu işletim sistemlerinde bu MPM’ler seçilmiş olacaktır.</p>
<table border="1" style="zebra">
<columnspec><column width=".2"/><column width=".2"/></columnspec>
<tr><td>Netware</td><td><module>mpm_netware</module></td></tr>
<tr><td>OS/2</td><td><module>mpmt_os2</module></td></tr>
<tr><td>Unix</td><td>Platformun yapabildiklerine bağlı olarak,
<module>prefork</module>, <module>worker</module> veya
<module>event</module></td></tr>
<tr><td>Windows</td><td><module>mpm_winnt</module></td></tr>
</table>
</section>
<section id="static"><title>Bir MPM'i bir duruk modül olarak derlemek</title>
<p>MPM'ler tüm platformlarda duruk (static) modüller olarak derlenebilir.
Derleme sırasında tek bir modül seçilir ve sunucu ile ilintilenir. MPM
değiştirilmek istenirse sunucunun yeniden derlenmesi gerekir.</p>
<p>Öntanımlı MPM seçimin değiştirmek için <program>configure</program>
betiğinin <code>--with-mpm=<em>AD</em></code> seçeneği kullanılır.
Buradaki <em>AD</em> istenen MPM'in ismidir.</p>
<p>Sunucu bir kere derlendi mi, hangi MPM'in seçilmiş olduğunu
<code>./httpd -l</code> komutuyla öğrenebilirsiniz. Bu komut, içerilen
MPM dahil, sunucu içinde derlenmiş bütüm modülleri listeler.</p>
</section>
<section id="dynamic"><title>Bir MPM'i bir DSO modülü olarak derlemek</title>
<p>Unix ve benzeri platformlarda, MPM'ler DSO modülleri olarak derlenebilir
ve diğer DSO modülleri gibi sunucuya devingen olarak yüklenebilir. DSO
modülü olarak derlenen MPM'ler, sunucunun yeniden derlenmesini
gerektirmeden <directive module="mod_so">LoadModule</directive> yönergesi
güncellenerek değiştirilebilir.</p>
<p>Bu özellik <program>configure</program> betiğinin
<code>--enable-mpms-shared</code> seçeneği ile etkinleştirilebilir.
<code><em>all</em></code> değeri belirtilerek platform için
kullanılabilen tüm modüller kurulur. İstenirse, değer olarak bir MPM
listesi de belirtilebilir.</p>
<p>Özdevinimli olarak seçilerek veya <program>configure</program> betiğine
<code>--with-mpm</code> seçeneğiyle belirtilerek seçilen öntanımlı MPM
üretilen sunucu yapılandırma dosyasıyla yüklenir. Farklı bir MPM seçmek
için MPM'i <directive module="mod_so">LoadModule</directive> yönergesinde
belirtin.</p>
</section>
</manualpage>
|