|  | <?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: 1602766 --> | 
|  | <!-- ===================================================== | 
|  | Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr> | 
|  | Reviewed by: Orhan Berent <berent belgeler.gen.tr> | 
|  | ========================================================== --> | 
|  |  | 
|  | <!-- | 
|  | 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> | 
|  |  | 
|  | <note><p>'Unix' burada Unix benzeri işletim sistemleri anlamında | 
|  | kullanılmıştır (örn, Linux, BSD, Solaris, Mac OS X, vb.</p></note> | 
|  |  | 
|  | <p>Unix durumunda, hangi MPM'nin kurulacağı kararı şu 2 soruya verilecek | 
|  | yanıta bağlıdır:</p> | 
|  | <p>1. Sistem evreleri destekliyor mu?</p> | 
|  | <p>2. Sistem evreleri "thread-safe polling" anlamında destekliyor mu | 
|  | (özellikle kqueue ve epoll işlevlerini)?</p> | 
|  |  | 
|  | <p>Her iki soruya da verilen yanıt 'evet' ise, öntanımlı MPM'niz | 
|  | <module>event</module> modülüdür.</p> | 
|  |  | 
|  | <p>Birincinin yanıtı 'evet' ikincinin 'hayır' ise öntanımlı MPM'niz | 
|  | <module>worker</module> modülüdür.</p> | 
|  |  | 
|  | <p>Yanıtların her ikisi de 'hayır' ise öntanımlı MPM'niz | 
|  | <module>prefork</module> modülüdür.</p> | 
|  |  | 
|  | <p>Uygulamada, günümüzdeki işletim sistemlerinin tümü bu iki özelliği | 
|  | desteklediğinden öntanımlı MPM'niz hemen hemen daima | 
|  | <module>event</module> modülü olacaktır.</p> | 
|  |  | 
|  | </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> | 
|  |  | 
|  | <highlight language="config"> | 
|  | LoadModule mpm_prefork_module modules/mod_mpm_prefork.so | 
|  | </highlight> | 
|  |  | 
|  | <p><directive module="mod_so">LoadModule</directive> yönergesini birden | 
|  | fazla MPM için kullanmak sunucunun başlatılması sırasında aşağıdaki | 
|  | hatanın oluşmasına sebep olur.</p> | 
|  |  | 
|  | <example>AH00534: httpd: Configuration error: More than one MPM | 
|  | loaded.</example> | 
|  |  | 
|  | <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> |