1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>Durdurma ve Yeniden Başlatma - Apache HTTP Sunucusu</title>
9 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <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>
15 <p class="apache">Apache HTTP Sunucusu Sürüm 2.0</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
19 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.0</a></div><div id="page-content"><div id="preamble"><h1>Durdurma ve Yeniden Başlatma</h1>
21 <p><span>Mevcut Diller: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
22 <a href="./en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> |
23 <a href="./es/stopping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
24 <a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
25 <a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
26 <a href="./ru/stopping.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> |
27 <a href="./tr/stopping.html" title="Türkçe"> tr </a></p>
30 <p>Bu belge Apache HTTPd’nin Unix benzeri sistemlerde durdurulması ve
31 yeniden başlatılması konularını kapsar. Windows NT, 2000 ve XP
32 kullanıcıları Apache HTTPd’yi bu platformlarda nasıl denetimlerine
33 alacaklarını öğrenmek için <a href="platform/windows.html#winsvc">Apache
34 HTTPd’nin Bir Hizmet Olarak Çalıştırılması</a> sayfasına, Windows 9x ve
35 ME kullanıcıları ise <a href="platform/windows.html#wincons">Apache
36 HTTPd’nin Bir Konsol Uygulaması Olarak Çalıştırılması</a> sayfasına
39 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">Giriş</a></li>
40 <li><img alt="" src="./images/down.gif" /> <a href="#term">Hemen Durdur</a></li>
41 <li><img alt="" src="./images/down.gif" /> <a href="#graceful">Nazikçe Yeniden Başlat</a></li>
42 <li><img alt="" src="./images/down.gif" /> <a href="#hup">Hemen Yeniden Başlat</a></li>
43 <li><img alt="" src="./images/down.gif" /> <a href="#race">Ek: Sinyaller ve yarış koşulları</a></li>
44 </ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li><li><a href="invoking.html">Başlatma</a></li></ul></div>
45 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
47 <h2><a name="introduction" id="introduction">Giriş</a></h2>
49 <p>Apache HTTPd’yi durdurmak ve yeniden başlatmak için çalışan
50 <code class="program"><a href="./programs/httpd.html">httpd</a></code> süreçlerine bir sinyal göndermeniz gerekir.
51 Sinyal göndermek için iki yol vardır. İlki, süreçlere doğrudan sinyal
52 göndermek için unix <code>kill</code> komutunun kullanımıdır. Bu
53 suretle, sisteminizde çalışmakta olan bir çok <code class="program"><a href="./programs/httpd.html">httpd</a></code>
54 sürecini uyarabilirsiniz ama süreç kimliği <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> yönergesi ile belirtilen dosyada
55 tutulan ana süreç dışında hiçbirine sinyal göndermemelisiniz. Başka
56 bir deyişle, ana süreç haricinde hiçbir sürece sinyal göndermeye normal
57 olarak ihtiyacınız olmaması gerekir. Ana sürece gönderebileceğiniz
58 üç çeşit sinyal vardır:
59 <code><a href="#term">TERM</a></code>,
60 <code><a href="#hup">HUP</a></code> ve
61 <code><a href="#graceful">USR1</a></code>. Bunlar yeri geldikçe
64 <p>Ana sürece <code>kill</code> ile sinyal göndermek için şöyle bir
65 komut verebilirsiniz:</p>
67 <div class="example"><p><code>kill -TERM `cat /usr/local/apache2/logs/httpd.pid`</code></p></div>
69 <p><code class="program"><a href="./programs/httpd.html">httpd</a></code> süreçlerine sinyal göndermenin ikinci yolu
70 <code>-k</code> komut satırı seçeneğini şu değerlerden biri ile
71 kullanmaktır: <code>stop</code>, <code>restart</code> ve
72 <code>graceful</code>. Bunlar aşağıda açıklanacaktır.
73 <code>-k</code> komut satırı seçeneği
74 <code class="program"><a href="./programs/httpd.html">httpd</a></code>’ye ait olsa da ana sürece bu sinyalleri
75 göndermek için <code class="program"><a href="./programs/apachectl.html">apachectl</a></code> betiğini kullanmanızı
76 öneririz. <code class="program"><a href="./programs/apachectl.html">apachectl</a></code>, komut satırı seçeneklerini
77 <code class="program"><a href="./programs/httpd.html">httpd</a></code>’ye aktaracaktır.</p>
79 <p><code class="program"><a href="./programs/httpd.html">httpd</a></code>’ye sinyal gönderdikten sonra olup biteni şu
80 komutla izleyebilirsiniz:</p>
82 <div class="example"><p><code>tail -f /usr/local/apache2/logs/error_log</code></p></div>
84 <p>Bu örnekleri, kendi <code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code> ve
85 <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> yönergelerinizdeki
86 ayarlara uygun olarak değiştirdikten sonra kullanınız.</p>
87 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
89 <h2><a name="term" id="term">Hemen Durdur</a></h2>
91 <dl><dt>Sinyal: TERM</dt>
92 <dd><code>apachectl -k stop</code></dd>
95 <p>Ana sürece <code>TERM</code> veya <code>stop</code> sinyali
96 göndererek tüm çocukların bir an önce öldürülmeye çalışılmasını sağlamış
97 olursunuz. Tüm çocukların öldürülmesi bir kaç saniye sürebilir. Son
98 olarak ana süreç çıkacaktır. Yanıtlanmakta olan istekler hemen
99 sonlandırılacak ve artık isteklere yanıt verilmeyecektir.</p>
100 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
101 <div class="section">
102 <h2><a name="graceful" id="graceful">Nazikçe Yeniden Başlat</a></h2>
104 <dl><dt>Sinyal: USR1</dt>
105 <dd><code>apachectl -k graceful</code></dd>
108 <p>Ana sürece <code>USR1</code> veya <code>graceful</code> sinyalinin
109 gönderilmesi, çocuklara ellerindeki mevcut işleri bitirdikten sonra
110 (veya sundukları bir şey yoksa hemen) çıkmalarının <em>önerilmesi</em>
111 demektir. Ana süreç kendi yapılandırma dosyalarını yeniden okur ve
112 kendi günlük dosyalarını yeniden açar. Ana sürecin öldürdüğü her sürecin
113 yerine yeni yapılandırma <em>kuşağından</em> bir süreç başlatır ve hemen
114 yeni isteklere hizmet sunulmaya başlanır.</p>
116 <div class="note">Belli platformlarda, nazikçe yeniden başlatma için
117 <code>USR1</code> sinyalinin kullanılmasına izin verilmez. Bu gibi
118 durumlarda, <code>WINCH</code> gibi başka bir sinyal kullanılabilir.
119 <code>apachectl graceful</code> komutu platformunuz için doğru sinyali
122 <p>Bu kod MPM’lerin süreçleri denetleyen yönergelerine daima uyacak
123 şekilde tasarlanmıştır. Bu suretle, istemcilere hizmet sunacak çocuk
124 süreçler ve evreler, yeniden başlatma işleminde de uygun sayıda
125 sağlanmış olur. Bununla birlikte, <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> yönergesinde şöyle
126 davranılır: İlk saniye içinde en azından <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> sayıda yeni çocuk
127 oluşturulmamışsa iş olmayan bir devreyi geçiştirecek kadarı oluşturulur.
128 Ardından sunucunun mevcut yükünü karşılamak için gereken sayıda çocuk
129 süreç oluşturulur. Bu suretle, kod her ikisi için de gereğini yerine
130 getirmeye çalışmış olur.</p>
132 <p><code class="module"><a href="./mod/mod_status.html">mod_status</a></code> kullanıcıları <code>USR1</code>
133 gönderildiği zaman sunucu istatistiklerinin sıfırlanmadığı konusunda
134 uyarılacaktır. Kod, sunucunun yeni isteklere yanıt veremediği zamanı en
135 aza indirmenin yanısıra ayar parametrelerinize de uymak üzere
136 tasarlanmıştır (yeni istekler işletim sistemi tarafından kuyruğa
137 alınacağından bir istek kaybı olayı yaşanmaz). Bunu sağlamak için, her
138 iki kuşağın çocuklarının izini sürecek bir <em>çetele</em> tutulur.</p>
140 <p><code class="module"><a href="./mod/mod_status.html">mod_status</a></code> modülü, nazikçe yeniden başlat komutunun
141 verilmesinden önce başlamış ve sunulmaya devam eden isteklere bakan
142 çocukları imlemek için ayrıca bir <code>G</code> (Graceful’un baş harfi)
145 <p>Günlük dosyası döndürme betiğine, yeniden başlatma öncesi günlüğe yazan
146 tüm çocukların işini bitirdiğini <code>USR1</code> kullanarak
147 bildirmenin bir yolu yoktur. Önerimiz, eski günlük kaydı üzerinde bir
148 işlem yapmaya başlamadan önce <code>USR1</code> sinyali gönderilmesinin
149 ardından belli bir süre beklenilmesi olacaktır. Örneğin, düşük band
150 genişliğine sahip istemcilere hizmet sunan çoğu sürecin işinin 10
151 dakikadan önce bitmeyeceğini gözönüne alarak eski günlük üzerinde işlem
152 yapmaya başlamak için 15 dakika beklenebilir.</p>
154 <div class="note">Bir yeniden başlatma isteğinde, eğer yapılandırma dosyalarınızda bir
155 hata varsa sunucu yeniden başlamaz ve bir hata ile çıkar. Nazikçe
156 yeniden başlatma durumunda ana süreç çıkarken çocuklarını çalışır durumda
157 bırakır. (Bunlar, ellerindeki istekler bitince ‘nazikçe çıkacak’ olan
158 çocuk süreçlerdir.) Eğer sunucuyu yeniden başlatmaya çalışırsanız bu
159 sorunlara yol açar; örneğin, dinleyeceği portları bağlayamayabilir. Bir
160 yeniden başlatma öncesinde yapılandırma dosyalarınızın sözdizimini
161 <code>-t</code> komut satırı seçeneği ile sınayabilirsiniz (bkz,
162 <code class="program"><a href="./programs/httpd.html">httpd</a></code>). Ancak, bu hala sunucunuzun düzgünce yeniden
163 başlatılmasını garanti etmeyecektir. Yapılandırma dosyalarınızı
164 sözdizimi denetiminin yanında anlamlandırılması bakımından da sınamak
165 için <code class="program"><a href="./programs/httpd.html">httpd</a></code>’nin root olmayan bir kullanıcı tarafından
166 çalıştırılmasını deneyebilirsiniz. Eğer yapılandırma dosyalarında bir
167 hata yoksa soketleri ve günlük dosyalarını açmaya çalışırken root
168 aidiyetinde çalışmadığından veya çalışmakta olan asıl sunucu bu portları
169 zaten dinlediğinden başarısız olacaktır. Eğer başka bir sebeple
170 başarısız olursa olası sebep bir yapılandırma dosyası hatasıdır ve asıl
171 sunucuya ‘nazikçe yeniden başla’ komutunu vermeden önce bu hatayı
172 düzeltmeniz gerekir.</div>
173 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
174 <div class="section">
175 <h2><a name="hup" id="hup">Hemen Yeniden Başlat</a></h2>
177 <dl><dt>Sinyal: HUP</dt>
178 <dd><code>apachectl -k restart</code></dd>
181 <p>Ana sürece <code>HUP</code> veya <code>restart</code> sinyalinin
182 gönderilmesi tüm çocukların <code>TERM</code> sinyali gönderilmiş gibi
183 öldürülmesine sebep olur fakat ana sürecin çıkmasını sağlamaz.
184 Ana süreç yapılandırma dosyalarını yeniden okur ve günlük kayıt
185 dosyalarını yeniden açar. Bunların ardından isteklere yanıt verecek yeni
186 kuşak çocukları oluşturmaya başlar.</p>
188 <p><code class="module"><a href="./mod/mod_status.html">mod_status</a></code> kullanıcıları bir <code>HUP</code> sinyali
189 gönderildiğinde sunucu istatistiklerinin sıfırlandığı konusunda
192 <div class="note">Eğer yapılandırma dosyalarınızda sözdizimi hatası varsa yeniden
193 başlatma işlemi gerçekleşmez ve ana süreç bir hata vererek çıkar.
194 Bundan kaçınmak için önceki yönteme bakınız.</div>
195 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
196 <div class="section">
197 <h2><a name="race" id="race">Ek: Sinyaller ve yarış koşulları</a></h2>
199 <p>Apache 1.2b9 sürümü öncesinde, yeniden başlatma ve ölüm sinyalleri ile
200 ilgili olarak ortaya çıkan çeşitli yarış koşulları vardı. (Basitçe, bir
201 yarış koşulu zamanlama ile ilgili bir sorundur; yanlış zamanda veya
202 yanlış sırada oluşan bir şey istenmeyen sonuçlara yol açarken, aynı şey
203 doğru zaman ve doğru sırada oluştuğunda herşey yolunda gider.) Bu tür
204 mimarilerde elimizden geldiği kadar bu sorunları giderecek doğru
205 özellikleri kullanmaya gayret etsek de belli mimarilerde hala yarış
206 koşullarının ortaya çıkma olasılığı bulunduğunu belirtmek gerekir.</p>
208 <p>Disk üzerinde <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> dosyası tutan mimarilerde
209 çetele bozulması olasılığı gündeme gelebilir. Bu durum, "bind:
210 Address already in use" (<code>HUP</code> sonrası) veya "long lost
211 child came home!" (<code>USR1</code> sonrası) iletileriyle
212 sonuçlanabilir. İkincisi sadece çetele kaybına sebep olurken birincisi
213 ölümcül bir hatadır. Bu bakımdan, normalde nazikçe yeniden başlatma
214 kullanıp ara sıra normal yeniden başlatma yapılması önerilebilir. Bu
215 sorunları kitabına uydurmak çok zordur fakat şans eseri çoğu mimari bir
216 çetele dosyası gerektirmemektedir. Çetele dosyası kullanan mimariler
217 için <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> belgesine
220 <p>Kalıcı HTTP bağlantısı (KeepAlive) üzerinden ikinci ve sonraki
221 isteklerle ilgili olarak her çocuk süreçte bir yarış koşulu oluşma
222 olasılığı küçük de olsa bütün mimarilerde vardır. İstek satırı
223 okunduktan sonra hiçbir istek başlığı okunmadan çıkabilir. Bu durum 1.2
224 sürümünde geç de olsa farkedilmiş ve düzeltme yoluna gidilmiştir. Teorik
225 olarak, ağ gecikmeleri ve sunucu zaman aşımları nedeniyle KeepAlive
226 istemcisi açısından bu olaylar beklenmediğinden, bu önemli bir konu
227 değildir. Uygulamada ise, ne sunucuyu ne de istemciyi etkilediği
228 görülmez; bir deneme ortamında sunucu saniyede 20 kere yeniden
229 başlatılmış ve istemciler boş belge veya bozuk resim almadan siteyi
230 başarıyla gezmişlerdir.</p>
232 <div class="bottomlang">
233 <p><span>Mevcut Diller: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
234 <a href="./en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> |
235 <a href="./es/stopping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
236 <a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
237 <a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
238 <a href="./ru/stopping.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> |
239 <a href="./tr/stopping.html" title="Türkçe"> tr </a></p>
240 </div><div id="footer">
241 <p class="apache">Copyright 2009 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>
242 <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>