mirror of
https://github.com/apache/httpd.git
synced 2025-08-20 16:09:55 +00:00

Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr> Reviewed by: Orhan Berent <berent belgeler.gen.tr> git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1605009 13f79535-47bb-0310-9956-ffa450edef68
172 lines
8.1 KiB
XML
172 lines
8.1 KiB
XML
<?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>
|