| <?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>Durdurma ve Yeniden Başlatma - 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/stopping.html" rel="canonical" /></head> |
| <body id="manual-page"><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="<-" alt="<-" src="./images/left.gif" /></a></div> |
| <div id="path"> |
| <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 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/stopping.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Durdurma ve Yeniden Başlatma</h1> |
| <div class="toplang"> |
| <p><span>Mevcut Diller: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | |
| <a href="./en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="./es/stopping.html" hreflang="es" rel="alternate" title="Español"> es </a> | |
| <a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="./ru/stopping.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | |
| <a href="./tr/stopping.html" title="Türkçe"> tr </a></p> |
| </div> |
| |
| <p>Bu belge Apache HTTPd’nin Unix benzeri sistemlerde durdurulması ve |
| yeniden başlatılması konularını kapsar. Windows NT, 2000 ve XP |
| kullanıcıları Apache HTTPd’yi bu platformlarda nasıl denetimlerine |
| alacaklarını öğrenmek için <a href="platform/windows.html#winsvc">Apache |
| HTTPd’nin Bir Hizmet Olarak Çalıştırılması</a> sayfasına, Windows 9x ve |
| ME kullanıcıları ise <a href="platform/windows.html#wincons">Apache |
| HTTPd’nin Bir Konsol Uygulaması Olarak Çalıştırılması</a> sayfasına |
| bakabilirler.</p> |
| </div> |
| <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">Giriş</a></li> |
| <li><img alt="" src="./images/down.gif" /> <a href="#term">Hemen Durdur</a></li> |
| <li><img alt="" src="./images/down.gif" /> <a href="#graceful">Nazikçe Yeniden Başlat</a></li> |
| <li><img alt="" src="./images/down.gif" /> <a href="#hup">Hemen Yeniden Başlat</a></li> |
| <li><img alt="" src="./images/down.gif" /> <a href="#race">Ek: Sinyaller ve yarış koşulları</a></li> |
| </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> |
| <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="introduction" id="introduction">Giriş</a></h2> |
| |
| <p>Apache HTTPd’yi durdurmak ve yeniden başlatmak için çalışan |
| <code class="program"><a href="./programs/httpd.html">httpd</a></code> süreçlerine bir sinyal göndermeniz gerekir. |
| Sinyal göndermek için iki yol vardır. İlki, süreçlere doğrudan sinyal |
| göndermek için unix <code>kill</code> komutunun kullanımıdır. Bu |
| suretle, sisteminizde çalışmakta olan bir çok <code class="program"><a href="./programs/httpd.html">httpd</a></code> |
| 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 |
| tutulan ana süreç dışında hiçbirine sinyal göndermemelisiniz. Başka |
| bir deyişle, ana süreç haricinde hiçbir sürece sinyal göndermeye normal |
| olarak ihtiyacınız olmaması gerekir. Ana sürece gönderebileceğiniz |
| üç çeşit sinyal vardır: |
| <code><a href="#term">TERM</a></code>, |
| <code><a href="#hup">HUP</a></code> ve |
| <code><a href="#graceful">USR1</a></code>. Bunlar yeri geldikçe |
| açıklanacaktır.</p> |
| |
| <p>Ana sürece <code>kill</code> ile sinyal göndermek için şöyle bir |
| komut verebilirsiniz:</p> |
| |
| <div class="example"><p><code>kill -TERM `cat /usr/local/apache2/logs/httpd.pid`</code></p></div> |
| |
| <p><code class="program"><a href="./programs/httpd.html">httpd</a></code> süreçlerine sinyal göndermenin ikinci yolu |
| <code>-k</code> komut satırı seçeneğini şu değerlerden biri ile |
| kullanmaktır: <code>stop</code>, <code>restart</code> ve |
| <code>graceful</code>. Bunlar aşağıda açıklanacaktır. |
| <code>-k</code> komut satırı seçeneği |
| <code class="program"><a href="./programs/httpd.html">httpd</a></code>’ye ait olsa da ana sürece bu sinyalleri |
| göndermek için <code class="program"><a href="./programs/apachectl.html">apachectl</a></code> betiğini kullanmanızı |
| öneririz. <code class="program"><a href="./programs/apachectl.html">apachectl</a></code>, komut satırı seçeneklerini |
| <code class="program"><a href="./programs/httpd.html">httpd</a></code>’ye aktaracaktır.</p> |
| |
| <p><code class="program"><a href="./programs/httpd.html">httpd</a></code>’ye sinyal gönderdikten sonra olup biteni şu |
| komutla izleyebilirsiniz:</p> |
| |
| <div class="example"><p><code>tail -f /usr/local/apache2/logs/error_log</code></p></div> |
| |
| <p>Bu örnekleri, kendi <code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code> ve |
| <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> yönergelerinizdeki |
| ayarlara uygun olarak değiştirdikten sonra kullanınız.</p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="term" id="term">Hemen Durdur</a></h2> |
| |
| <dl><dt>Sinyal: TERM</dt> |
| <dd><code>apachectl -k stop</code></dd> |
| </dl> |
| |
| <p>Ana sürece <code>TERM</code> veya <code>stop</code> sinyali |
| göndererek tüm çocukların bir an önce öldürülmeye çalışılmasını sağlamış |
| olursunuz. Tüm çocukların öldürülmesi bir kaç saniye sürebilir. Son |
| olarak ana süreç çıkacaktır. Yanıtlanmakta olan istekler hemen |
| sonlandırılacak ve artık isteklere yanıt verilmeyecektir.</p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="graceful" id="graceful">Nazikçe Yeniden Başlat</a></h2> |
| |
| <dl><dt>Sinyal: USR1</dt> |
| <dd><code>apachectl -k graceful</code></dd> |
| </dl> |
| |
| <p>Ana sürece <code>USR1</code> veya <code>graceful</code> sinyalinin |
| gönderilmesi, çocuklara ellerindeki mevcut işleri bitirdikten sonra |
| (veya sundukları bir şey yoksa hemen) çıkmalarının <em>önerilmesi</em> |
| demektir. Ana süreç kendi yapılandırma dosyalarını yeniden okur ve |
| kendi günlük dosyalarını yeniden açar. Ana sürecin öldürdüğü her sürecin |
| yerine yeni yapılandırma <em>kuşağından</em> bir süreç başlatır ve hemen |
| yeni isteklere hizmet sunulmaya başlanır.</p> |
| |
| <div class="note">Belli platformlarda, nazikçe yeniden başlatma için |
| <code>USR1</code> sinyalinin kullanılmasına izin verilmez. Bu gibi |
| durumlarda, <code>WINCH</code> gibi başka bir sinyal kullanılabilir. |
| <code>apachectl graceful</code> komutu platformunuz için doğru sinyali |
| gönderecektir.</div> |
| |
| <p>Bu kod MPM’lerin süreçleri denetleyen yönergelerine daima uyacak |
| şekilde tasarlanmıştır. Bu suretle, istemcilere hizmet sunacak çocuk |
| süreçler ve evreler, yeniden başlatma işleminde de uygun sayıda |
| sağlanmış olur. Bununla birlikte, <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> yönergesinde şöyle |
| 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 |
| oluşturulmamışsa iş olmayan bir devreyi geçiştirecek kadarı oluşturulur. |
| Ardından sunucunun mevcut yükünü karşılamak için gereken sayıda çocuk |
| süreç oluşturulur. Bu suretle, kod her ikisi için de gereğini yerine |
| getirmeye çalışmış olur.</p> |
| |
| <p><code class="module"><a href="./mod/mod_status.html">mod_status</a></code> kullanıcıları <code>USR1</code> |
| gönderildiği zaman sunucu istatistiklerinin sıfırlanmadığı konusunda |
| uyarılacaktır. Kod, sunucunun yeni isteklere yanıt veremediği zamanı en |
| aza indirmenin yanısıra ayar parametrelerinize de uymak üzere |
| tasarlanmıştır (yeni istekler işletim sistemi tarafından kuyruğa |
| alınacağından bir istek kaybı olayı yaşanmaz). Bunu sağlamak için, her |
| iki kuşağın çocuklarının izini sürecek bir <em>çetele</em> tutulur.</p> |
| |
| <p><code class="module"><a href="./mod/mod_status.html">mod_status</a></code> modülü, nazikçe yeniden başlat komutunun |
| verilmesinden önce başlamış ve sunulmaya devam eden isteklere bakan |
| çocukları imlemek için ayrıca bir <code>G</code> (Graceful’un baş harfi) |
| kullanır.</p> |
| |
| <p>Günlük dosyası döndürme betiğine, yeniden başlatma öncesi günlüğe yazan |
| tüm çocukların işini bitirdiğini <code>USR1</code> kullanarak |
| bildirmenin bir yolu yoktur. Önerimiz, eski günlük kaydı üzerinde bir |
| işlem yapmaya başlamadan önce <code>USR1</code> sinyali gönderilmesinin |
| ardından belli bir süre beklenilmesi olacaktır. Örneğin, düşük band |
| genişliğine sahip istemcilere hizmet sunan çoğu sürecin işinin 10 |
| dakikadan önce bitmeyeceğini gözönüne alarak eski günlük üzerinde işlem |
| yapmaya başlamak için 15 dakika beklenebilir.</p> |
| |
| <div class="note">Bir yeniden başlatma isteğinde, eğer yapılandırma dosyalarınızda bir |
| hata varsa sunucu yeniden başlamaz ve bir hata ile çıkar. Nazikçe |
| yeniden başlatma durumunda ana süreç çıkarken çocuklarını çalışır durumda |
| bırakır. (Bunlar, ellerindeki istekler bitince ‘nazikçe çıkacak’ olan |
| çocuk süreçlerdir.) Eğer sunucuyu yeniden başlatmaya çalışırsanız bu |
| sorunlara yol açar; örneğin, dinleyeceği portları bağlayamayabilir. Bir |
| yeniden başlatma öncesinde yapılandırma dosyalarınızın sözdizimini |
| <code>-t</code> komut satırı seçeneği ile sınayabilirsiniz (bkz, |
| <code class="program"><a href="./programs/httpd.html">httpd</a></code>). Ancak, bu hala sunucunuzun düzgünce yeniden |
| başlatılmasını garanti etmeyecektir. Yapılandırma dosyalarınızı |
| sözdizimi denetiminin yanında anlamlandırılması bakımından da sınamak |
| için <code class="program"><a href="./programs/httpd.html">httpd</a></code>’nin root olmayan bir kullanıcı tarafından |
| çalıştırılmasını deneyebilirsiniz. Eğer yapılandırma dosyalarında bir |
| hata yoksa soketleri ve günlük dosyalarını açmaya çalışırken root |
| aidiyetinde çalışmadığından veya çalışmakta olan asıl sunucu bu portları |
| zaten dinlediğinden başarısız olacaktır. Eğer başka bir sebeple |
| başarısız olursa olası sebep bir yapılandırma dosyası hatasıdır ve asıl |
| sunucuya ‘nazikçe yeniden başla’ komutunu vermeden önce bu hatayı |
| düzeltmeniz gerekir.</div> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="hup" id="hup">Hemen Yeniden Başlat</a></h2> |
| |
| <dl><dt>Sinyal: HUP</dt> |
| <dd><code>apachectl -k restart</code></dd> |
| </dl> |
| |
| <p>Ana sürece <code>HUP</code> veya <code>restart</code> sinyalinin |
| gönderilmesi tüm çocukların <code>TERM</code> sinyali gönderilmiş gibi |
| öldürülmesine sebep olur fakat ana sürecin çıkmasını sağlamaz. |
| Ana süreç yapılandırma dosyalarını yeniden okur ve günlük kayıt |
| dosyalarını yeniden açar. Bunların ardından isteklere yanıt verecek yeni |
| kuşak çocukları oluşturmaya başlar.</p> |
| |
| <p><code class="module"><a href="./mod/mod_status.html">mod_status</a></code> kullanıcıları bir <code>HUP</code> sinyali |
| gönderildiğinde sunucu istatistiklerinin sıfırlandığı konusunda |
| uyarılırlar.</p> |
| |
| <div class="note">Eğer yapılandırma dosyalarınızda sözdizimi hatası varsa yeniden |
| başlatma işlemi gerçekleşmez ve ana süreç bir hata vererek çıkar. |
| Bundan kaçınmak için önceki yönteme bakınız.</div> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="race" id="race">Ek: Sinyaller ve yarış koşulları</a></h2> |
| |
| <p>Apache 1.2b9 sürümü öncesinde, yeniden başlatma ve ölüm sinyalleri ile |
| ilgili olarak ortaya çıkan çeşitli yarış koşulları vardı. (Basitçe, bir |
| yarış koşulu zamanlama ile ilgili bir sorundur; yanlış zamanda veya |
| yanlış sırada oluşan bir şey istenmeyen sonuçlara yol açarken, aynı şey |
| doğru zaman ve doğru sırada oluştuğunda herşey yolunda gider.) Bu tür |
| mimarilerde elimizden geldiği kadar bu sorunları giderecek doğru |
| özellikleri kullanmaya gayret etsek de belli mimarilerde hala yarış |
| koşullarının ortaya çıkma olasılığı bulunduğunu belirtmek gerekir.</p> |
| |
| <p>Disk üzerinde <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> dosyası tutan mimarilerde |
| çetele bozulması olasılığı gündeme gelebilir. Bu durum, "bind: |
| Address already in use" (<code>HUP</code> sonrası) veya "long lost |
| child came home!" (<code>USR1</code> sonrası) iletileriyle |
| sonuçlanabilir. İkincisi sadece çetele kaybına sebep olurken birincisi |
| ölümcül bir hatadır. Bu bakımdan, normalde nazikçe yeniden başlatma |
| kullanıp ara sıra normal yeniden başlatma yapılması önerilebilir. Bu |
| sorunları kitabına uydurmak çok zordur fakat şans eseri çoğu mimari bir |
| çetele dosyası gerektirmemektedir. Çetele dosyası kullanan mimariler |
| için <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> belgesine |
| bakınız.</p> |
| |
| <p>Kalıcı HTTP bağlantısı (KeepAlive) üzerinden ikinci ve sonraki |
| isteklerle ilgili olarak her çocuk süreçte bir yarış koşulu oluşma |
| olasılığı küçük de olsa bütün mimarilerde vardır. İstek satırı |
| okunduktan sonra hiçbir istek başlığı okunmadan çıkabilir. Bu durum 1.2 |
| sürümünde geç de olsa farkedilmiş ve düzeltme yoluna gidilmiştir. Teorik |
| olarak, ağ gecikmeleri ve sunucu zaman aşımları nedeniyle KeepAlive |
| istemcisi açısından bu olaylar beklenmediğinden, bu önemli bir konu |
| değildir. Uygulamada ise, ne sunucuyu ne de istemciyi etkilediği |
| görülmez; bir deneme ortamında sunucu saniyede 20 kere yeniden |
| başlatılmış ve istemciler boş belge veya bozuk resim almadan siteyi |
| başarıyla gezmişlerdir.</p> |
| </div></div> |
| <div class="bottomlang"> |
| <p><span>Mevcut Diller: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | |
| <a href="./en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="./es/stopping.html" hreflang="es" rel="alternate" title="Español"> es </a> | |
| <a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="./ru/stopping.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | |
| <a href="./tr/stopping.html" title="Türkçe"> tr </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> |