blob: c03b12cbaf29ee37d06bb952c68e65e68c1ec08c [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!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="tr" xml:lang="tr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<meta content="noindex, nofollow" name="robots" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>worker - Apache HTTP Sunucusu</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" /><link href="http://httpd.apache.org/docs/current/mod/worker.html" rel="canonical" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
<p class="apache">Apache HTTP Sunucusu Sürüm 2.0</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.0</a> &gt; <a href="./">Modüller</a></div>
<div id="page-content">
<div class="retired"><h4>Please note</h4>
<p>This document refers to the <strong>2.0</strong> version of Apache httpd, which <strong>is no longer maintained</strong>. Upgrade, and refer to the current version of httpd instead, documented at:</p>
<ul><li><a href="http://httpd.apache.org/docs/current/">Current release version of Apache HTTP Server documentation</a></li></ul><p>You may follow <a href="http://httpd.apache.org/docs/current/mod/worker.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Apache MPM worker</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../es/mod/worker.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/worker.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Çok evreli ve çok süreçli melez bir HTTP sunucusu oluşturan çok
süreçlilik modülü.</td></tr>
<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>MPM</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>mpm_worker_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>worker.c</td></tr></table>
<h3>Özet</h3>
<p>Bu çok süreçlilik modülü (MPM) hem çok süreçli hem de çok evreli
olabilen melez bir sunucu oluşturur. İstekleri sunmak için evreleri
kullanması sebebiyle çok süreçli bir sunucudan daha az sistem kaynağı
harcayarak daha çok isteğe hizmet sunabilir. Bununla birlikte, herbiri
çok sayıda evreye sahip çok sayıda süreci canlı tutarak bir çok süreçli
sunucu kadar kararlı olur.</p>
<p>Bu MPM’i denetim altında tutmakta kullanılan en önemli yönergeler, her
çocuk süreç için konuşlandırılacak evre sayısını belirleyen <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesi ile devreye
sokulacak toplam evre sayısının azamisini belirleyen <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> yönergesidir.</p>
</div>
<div id="quickview"><h3 class="directives">Yönergeler</h3>
<ul id="toc">
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#acceptmutex">AcceptMutex</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#group">Group</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#lockfile">LockFile</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxclients">MaxClients</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
</ul>
<h3>Konular</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Nasıl çalışır?</a></li>
</ul><h3>Ayrıca bakınız:</h3>
<ul class="seealso">
<li><a href="../bind.html">Apache’nin kullandığı adres ve portların
ayarlanması</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="how-it-works" id="how-it-works">Nasıl çalışır?</a></h2>
<p>Çocuk süreçleri devreye almaktan tek bir süreç (ana süreç) sorumludur.
Her çocuk süreç <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesinde belirtilen sayıda evre
konuşlandırır. Bunlardan ayrı olarak, bir dinleyici evre bağlantıları
dinleyip gelenleri işlenmek üzere bu sunucu evrelerinden birine
aktarır.</p>
<p>Apache daima, gelen isteklere hizmet sunmaya hazır <dfn>yedek</dfn>
veya boştaki sunucu evrelerinden oluşan bir havuzu canlı tutmaya
çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk
süreçlerin çatallanmasını, dolayısıyla yeni evrelerin
konuşlandırılmasını beklemek gerekmez. Başlangıçta çalıştırılacak çocuk
süreçlerin sayısı <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code> yönergesinde belirtilir.
Apache, çalışma süresi boyunca <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> ve <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> yönergeleri ile belirtilen sınırlar
dahilinde kalmak üzere gerektiğinde süreçleri öldürerek gerektiğinde
yenilerini devreye alarak tüm süreçlerdeki toplam evre sayısını sabit
tutmaya çalışır. Bu işlem kendiliğinden çok iyi yürüdüğünden bu
yönergelere öntanımlı değerlerinden farklı değerlerin atanması nadiren
gerekli olur. Aynı anda hizmet sunulabilecek istemcilerin sayısı (yani,
tüm süreçlerin toplam evre sayısı) <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> yönergesi ile belirlenir. Etkin çocuk
süreçlerin sayısı ise <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> yönergesindeki değerin <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki değere
bölünmesi ile elde edilir.</p>
<p>Bu iki yönerge aynı anda etkin olabilecek çocuk süreçlerin ve her
çocuk süreçteki sunucu evreleri sayısının üst sınırını belirler ve bu
sınır sadece ana sunucu tamamen durdurulup yeniden başlatılarak
değiştirilebilir. <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> yönergesinin değeri etkin çocuk süreç
sayısının üst sınırı olup <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> yönergesindeki değerin <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki değere
bölünmesi ile elde değere eşit veya bundan küçük olması gerekir.
<code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> yönergesinin
değeri ise sunucu evreleri sayısının üst sınırını belirler ve <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki değerden
büyük veya ona eşit olması gerekir. Eğer bu yönergelere öntanımlı
değerlerinden farklı bir değer atanacaksa bu atamaların diğer
<code class="module"><a href="../mod/worker.html">worker</a></code> yönergelerinden önce yapılması gerekir.</p>
<p>Sonlandırma sırasında etkin çocuk süreçlere ek olarak mevcut istemci
bağlantılarını işleme sokmaya çalışan tek bir sunucu evresinden başka
fazladan bir çocuk süreç etkin kalabileceği gibi sonlandırılacak süreç
sayısının en fazla <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> olması gerekirse de gerçekte sayı bundan küçük
olabilir. Şöyle bir işlemle tek bir çocuk sürecin sonlandırılması
iptal edilerek bu gibi durumlara karşı önlem alınabilir:</p>
<ul>
<li><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild"> MaxRequestsPerChild</a></code>
yönergesinin değeri sıfır yapılır.</li>
<li><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> ve
<code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> yönergelerinin
değerleri birbirine eşitlenir.</li>
</ul>
<p><code class="module"><a href="../mod/worker.html">worker</a></code> modülünün öntanımlı süreç-evre yapılandırması
genelde şöyledir:</p>
<div class="example"><p><code>
ServerLimit 16<br />
StartServers 2<br />
MaxClients 150<br />
MinSpareThreads 25<br />
MaxSpareThreads 75<br />
ThreadsPerChild 25
</code></p></div>
<p>Unix altında 80. portu dinleyebilmek için ana sürecin root tarafından
çalıştırılmış olması gerekirse de çocuk süreçler ve evreler Apache
tarafından daha az yetkili bir kullanıcının aidiyetinde
çalıştırılırlar. Apache’nin çocuk süreçlerinin kullanıcı ve gruplarını
ayarlamak için User ve Group yönergeleri kullanılır. Çocuk süreçlerin
sunacakları içeriği okumaya yetkili olmaları gerekir, fakat bu yetkinin
mümkün olduğunca kısıtlı tutulmasına çalışılmalıdır. Bundan başka,
<code class="program"><a href="../programs/suexec.html">suexec</a></code> kullanılmadığı takdirde, bu yönergeler CGI
betikleri tarafından miras alınacak yetkili kullanıcı ve grubu da
ayarlarlar.</p>
<p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code>
yönergesi ana sunucunun eski süreçleri öldürüp yenilerini oluşturmayı
ne kadar sıklıkla yapacağını denetler.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../es/mod/worker.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/worker.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2013 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html>