]> granicus.if.org Git - apache/blob - docs/manual/stopping.xml.tr
Patch from info@mathijs.info to use 2.4 authz syntax.
[apache] / docs / manual / stopping.xml.tr
1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
4 <!-- English Revision: 1174747 -->
5 <!-- =====================================================
6  Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7    Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
9
10 <!--
11  Licensed to the Apache Software Foundation (ASF) under one or more
12  contributor license agreements.  See the NOTICE file distributed with
13  this work for additional information regarding copyright ownership.
14  The ASF licenses this file to You under the Apache License, Version 2.0
15  (the "License"); you may not use this file except in compliance with
16  the License.  You may obtain a copy of the License at
17
18      http://www.apache.org/licenses/LICENSE-2.0
19
20  Unless required by applicable law or agreed to in writing, software
21  distributed under the License is distributed on an "AS IS" BASIS,
22  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  See the License for the specific language governing permissions and
24  limitations under the License.
25 -->
26
27 <manualpage metafile="stopping.xml.meta">
28
29   <title>Apache HTTP Sunucusunun Durdurulması ve Yeniden Başlatılması</title>
30
31 <summary>
32     <p>Bu belge Apache HTTP Sunucusunun Unix benzeri sistemlerde durdurulması
33       ve yeniden başlatılması konularını kapsar. Windows NT, 2000 ve XP
34       kullanıcıları Apache HTTPd’yi bu platformlarda nasıl denetimlerine
35       alacaklarını öğrenmek için <a href="platform/windows.html#winsvc"
36       >httpd’nin Bir Hizmet Olarak Çalıştırılması</a> sayfasına, Windows 9x ve
37       ME kullanıcıları ise <a href="platform/windows.html#wincons">httpd’nin
38       Bir Konsol Uygulaması Olarak Çalıştırılması</a> sayfasına
39       bakabilirler.</p>
40 </summary>
41
42 <seealso><program>httpd</program></seealso>
43 <seealso><program>apachectl</program></seealso>
44 <seealso><a href="invoking.html">Başlatma</a></seealso>
45
46 <section id="introduction"><title>Giriş</title>
47
48     <p>Apache HTTP Sunucusunu durdurmak ve yeniden başlatmak için çalışan
49       <program>httpd</program> süreçlerine bir sinyal göndermeniz gerekir.
50       Sinyal göndermek için iki yol vardır. İlki, süreçlere doğrudan sinyal
51       göndermek için unix <code>kill</code> komutunun kullanımıdır. Bu
52       suretle, sisteminizde çalışmakta olan bir çok <program>httpd</program>
53       sürecini uyarabilirsiniz ama süreç kimliği <directive
54       module="mpm_common">PidFile</directive> 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       dört çeşit sinyal vardır:
59       <code><a href="#term">TERM</a></code>,
60       <code><a href="#graceful">USR1</a></code>,
61       <code><a href="#hup">HUP</a></code> ve
62       <code><a href="#gracefulstop">WINCH</a></code>. Bunlar yeri geldikçe
63       açıklanacaktır.</p>
64
65     <p>Ana sürece <code>kill</code> ile sinyal göndermek için şöyle bir
66       komut verebilirsiniz:</p>
67
68     <example>kill -TERM `cat /usr/local/apache2/logs/httpd.pid`</example>
69
70     <p><program>httpd</program> süreçlerine sinyal göndermenin ikinci yolu
71       <code>-k</code> komut satırı seçeneğini şu değerlerden biri ile
72       kullanmaktır: <code>stop</code>, <code>restart</code>,
73       <code>graceful</code> ve <code>graceful-stop</code>. Bunlar aşağıda
74       açıklanacaktır. <code>-k</code> komut satırı seçeneği
75       <program>httpd</program>’ye ait olsa da ana sürece bu sinyalleri
76       göndermek için <program>apachectl</program> betiğini kullanmanızı
77       öneririz. <program>apachectl</program>, komut satırı seçeneklerini
78       <program>httpd</program>’ye aktaracaktır.</p>
79
80     <p><program>httpd</program>’ye sinyal gönderdikten sonra olup biteni şu
81       komutla izleyebilirsiniz:</p>
82
83     <example>tail -f /usr/local/apache2/logs/error_log</example>
84
85     <p>Bu örnekleri, kendi <directive module="core">ServerRoot</directive> ve
86       <directive module="mpm_common">PidFile</directive> yönergelerinizdeki
87       ayarlara uygun olarak değiştirdikten sonra kullanınız.</p>
88 </section>
89
90 <section id="term"><title>Hemen Durdur</title>
91
92   <dl><dt>Sinyal: TERM</dt>
93     <dd><code>apachectl -k stop</code></dd>
94   </dl>
95
96     <p>Ana sürece <code>TERM</code> veya <code>stop</code> sinyali
97       göndererek tüm çocukların bir an önce öldürülmeye çalışılmasını sağlamış
98       olursunuz. Tüm çocukların öldürülmesi bir kaç saniye sürebilir. Son
99       olarak ana süreç çıkacaktır. Yanıtlanmakta olan istekler hemen
100       sonlandırılacak ve artık isteklere yanıt verilmeyecektir.</p>
101 </section>
102
103 <section id="graceful"><title>Nazikçe Yeniden Başlat</title>
104
105   <dl><dt>Sinyal: USR1</dt>
106     <dd><code>apachectl -k graceful</code></dd>
107   </dl>
108
109     <p>Ana sürece <code>USR1</code> veya <code>graceful</code> sinyalinin
110       gönderilmesi, çocuklara ellerindeki mevcut işleri bitirdikten sonra
111       (veya sundukları bir şey yoksa hemen) çıkmalarının <em>önerilmesi</em>
112       demektir. Ana süreç kendi yapılandırma dosyalarını yeniden okur ve
113       kendi günlük dosyalarını yeniden açar. Ana sürecin öldürdüğü her sürecin
114       yerine yeni yapılandırma <em>kuşağından</em> bir süreç başlatır ve hemen
115       yeni isteklere hizmet sunulmaya başlanır.</p>
116
117     <p>Bu kod MPM’lerin süreçleri denetleyen yönergelerine daima uyacak
118       şekilde tasarlanmıştır. Bu suretle, istemcilere hizmet sunacak çocuk
119       süreçler ve evreler, yeniden başlatma işleminde de uygun sayıda
120       sağlanmış olur. Bununla birlikte, <directive
121       module="mpm_common">StartServers</directive> yönergesinde şöyle
122       davranılır: İlk saniye içinde en azından <directive
123       module="mpm_common">StartServers</directive> sayıda yeni çocuk
124       oluşturulmamışsa iş olmayan bir devreyi geçiştirecek kadarı oluşturulur.
125       Ardından sunucunun mevcut yükünü karşılamak için gereken sayıda çocuk
126       süreç oluşturulur. Bu suretle, kod her ikisi için de gereğini yerine
127       getirmeye çalışmış olur.</p>
128
129     <p><module>mod_status</module> kullanıcıları <code>USR1</code>
130       gönderildiği zaman sunucu istatistiklerinin sıfırlanmadığı konusunda
131       uyarılacaktır. Kod, sunucunun yeni isteklere yanıt veremediği zamanı en
132       aza indirmenin yanısıra ayar parametrelerinize de uymak üzere
133       tasarlanmıştır (yeni istekler işletim sistemi tarafından kuyruğa
134       alınacağından bir istek kaybı olayı yaşanmaz). Bunu sağlamak için, her
135       iki kuşağın çocuklarının izini sürecek bir <em>çetele</em> tutulur.</p>
136
137     <p><module>mod_status</module> modülü, nazikçe yeniden başlat komutunun
138       verilmesinden önce başlamış ve sunulmaya devam eden isteklere bakan
139       çocukları imlemek için ayrıca bir <code>G</code> (Graceful’un baş harfi)
140       kullanır.</p>
141
142     <p>Günlük dosyası döndürme betiğine, yeniden başlatma öncesi günlüğe yazan
143       tüm çocukların işini bitirdiğini <code>USR1</code> kullanarak
144       bildirmenin bir yolu yoktur.  Önerimiz, eski günlük kaydı üzerinde bir
145       işlem yapmaya başlamadan önce <code>USR1</code> sinyali gönderilmesinin
146       ardından belli bir süre beklenilmesi olacaktır. Örneğin, düşük band
147       genişliğine sahip istemcilere hizmet sunan çoğu sürecin işinin 10
148       dakikadan önce bitmeyeceğini gözönüne alarak eski günlük üzerinde işlem
149       yapmaya başlamak için 15 dakika beklenebilir.</p>
150
151     <note>
152     <p>Bir yeniden başlatma isteğinde, yapılandırma dosyalarında bir hata
153       olmadığından emin olmak için önce bir sözdizimi denetimi yapılır. Eğer
154       yapılandırma dosyalarınızda bir hata varsa bu sözdizimi hatasıyla ilgili
155       bir hata iletisi alırsınız ve sunucu yeniden başlamayı reddeder. Bu
156       yolla, bir hata sonucu sunucunun çökerek yeniden başlamaması nedeniyle
157       işlevsiz bir sunucuyla başbaşa kalmanız önlenmiştir.</p>
158
159     <p>Ancak, bu hala sunucunuzun düzgünce yeniden başlatılmasını garanti
160       etmeyecektir. Yapılandırma dosyalarınızı sözdizimi denetiminin yanında
161       anlamlandırılması bakımından da sınamak için
162       <program>httpd</program>’nin root olmayan bir kullanıcı tarafından
163       çalıştırılmasını deneyebilirsiniz. Eğer yapılandırma dosyalarında bir
164       hata yoksa soketleri ve günlük dosyalarını açmaya çalışırken root
165       aidiyetinde çalışmadığından veya çalışmakta olan asıl sunucu bu portları
166       zaten dinlediğinden başarısız olacaktır. Eğer başka bir sebeple
167       başarısız olursa olası sebep bir yapılandırma dosyası hatasıdır ve asıl
168       sunucuya ‘nazikçe yeniden başla’ komutunu vermeden önce bu hatayı
169       düzeltmeniz gerekir.</p></note>
170 </section>
171
172 <section id="hup"><title>Hemen Yeniden Başlat</title>
173
174   <dl><dt>Sinyal: HUP</dt>
175     <dd><code>apachectl -k restart</code></dd>
176   </dl>
177
178     <p>Ana sürece <code>HUP</code> veya <code>restart</code> sinyalinin
179       gönderilmesi tüm çocukların <code>TERM</code> sinyali gönderilmiş gibi
180       öldürülmesine sebep olur fakat ana sürecin çıkmasını sağlamaz.
181       Ana süreç yapılandırma dosyalarını yeniden okur ve günlük kayıt
182       dosyalarını yeniden açar. Bunların ardından isteklere yanıt verecek yeni
183       kuşak çocukları oluşturmaya başlar.</p>
184
185     <p><module>mod_status</module> kullanıcıları bir <code>HUP</code> sinyalı
186       gönderildiğinde sunucu istatistiklerinin sıfırlandığı konusunda
187       uyarılırlar.</p>
188
189     <note>‘Nazikçe yeniden başlat’ komutundaki gibi yeniden başlatma öncesi
190       bir sözdizimi denetimi yapılır. Eğer yapılandırma dosyalarınızda
191       sözdizimi hatası varsa yeniden başlatma işlemi gerçekleşmez ve sözdizimi
192       hatalarıyla ilgili bildirim alırsınız.</note>
193 </section>
194
195 <section id="gracefulstop"><title>Nazikçe Durdur</title>
196
197   <dl><dt>Sinyal: WINCH</dt>
198     <dd><code>apachectl -k graceful-stop</code></dd>
199   </dl>
200
201     <p>Ana sürecin <code>WINCH</code> veya <code>graceful-stop</code>
202       sinyalini alması, çocuklara ellerindeki mevcut işleri bitirdikten sonra
203       (veya sundukları bir şey yoksa hemen) çıkmalarının <em>önerilmesine</em>
204       sebep olur. Ana süreç bunun hemen ardından <directive
205       module="mpm_common">PidFile</directive> dosyasını siler ve port
206       dinlemeyi keser. Ana süreç  çalışmaya ve isteklere yanıt vermekte olan
207       çocuk süreçleri izlemeye devam eder. Tüm çocuklar işlerini bitirip
208       çıktığında veya <directive
209       module="mpm_common">GracefulShutdownTimeout</directive> ile belirtilen
210       zaman aşımı dolduğunda ana süreç de kendini sonlandırır. Eğer zaman aşımı
211       devreye girmişse o an çalışmakta olan çocuk süreçlere <code>TERM</code>
212       sinyali gönderilerek hemen çıkmaları sağlanır.</p>
213
214     <p>Bir <code>TERM</code> sinyali ile "graceful" durumundaki tüm çocuklar
215       ve ana süreç hemen sonlandırılacaktır. Bununla birlikte, <directive
216       module="mpm_common">PidFile</directive> dosyası da silineceğinden, artık
217       <code>apachectl</code> veya <code>httpd</code>’yi bu sinyali göndermek
218       için kullanamayacaksınız.</p>
219
220     <note><p><code>graceful-stop</code> sinyali, aynı anda, aynı yapılandırma
221       ile çok sayıda <program>httpd</program> kopyasının çalıştırılabilmesine
222       imkan verir.  Bu, Apache nazikçe yükseltileceği zaman güçlü bir özellik
223       haline gelmekteyse de, bazı yapılandırmalarda yarış koşullarının
224       oluşmasına ve kısır çekişmelere (deadlock) sebep olabilir.</p>
225
226     <p>Sunucunun süreç kimliğini içeren kilit dosyaları (<directive
227       module="core">Mutex</directive>) ve Unix soket dosyaları
228       (<directive module="mod_cgid">ScriptSock</directive>) gibi dosyaların
229       disk üzerindeki mevcudiyetlerinin sorunsuz olarak devam ettiğinden emin
230       olunmaya çalışılmalıdır.  Ayrıca, bir yapılandırma yönergesi, üçüncü
231       parti bir modül veya kalıcı CGI uygulamalarına ait disk kilit veya durum
232       dosyaları olabilir; <program>httpd</program>’nin birden fazla kopyasının
233       çalışması nedeniyle bu dosyaların da üzerine yazılmadığından emin
234       olunmaya çalışılmalıdır.</p>
235
236     <p><program>rotatelogs</program> tarzı borulu günlükleme kullanımı gibi
237       durumlarda yarış koşullarının oluşması olasılığına karşı uyanık
238       olunmalıdır. Aynı günlük kayıt dosyalarını aynı anda döndürmeye çalışan
239       birden fazla <program>rotatelogs</program> kopyasının çalıştırılması
240       halinde bunların her biri diğerlerinin günlük kayıt dosyalarının kaybına
241       sebep olabilir.</p></note>
242 </section>
243
244 </manualpage>