<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
<article name="nginx/Windows kullanımı"
link="/tr/docs/windows.html"
lang="tr">
<section>
<para>
nginx/Windows doğrudan Win32 API’yi kullanır (Cygwin emülasyon tabakasını değil).
Şu an için sadece <i>select</i> methodunu kullandığından yüksek performans ve ölçeklenebilirlik beklememelisiniz.
Bu ve bilinen diğer nedenlerle nginx/Windows’u <i>beta</i> versiyon olarak kabul etmek gerekir.
Unix versiyonu ile karşılaştırıldığında, XSLT filtresi, imaj filtresi, GeoIP modülü ve gömülü Perl dili hariç tam fonklsiyoneldir.
</para>
<para>
nginx/Windows versiyonunu yüklemek için <link doc="../../en/download.xml">indir</link> bağlantısından zip formatındaki <mainline_version /> geliştirme versiyonunu indirebilirsiniz. Geliştirme versiyonu, özellikle Windows ile ilgili en son yamaları içerir. Dosyayı indirdikten sonra açarak, nginx-<mainline_version /> klasörü içerisinden nginx’i çalıştırabilirsiniz.
C sürücüsü için örnek. root dizini:
<programlisting>
cd c:\
unzip nginx-<mainline_version />.zip
cd nginx-<mainline_version />
start nginx
</programlisting>
Ayrıca <path>tasklist</path> komutu ile nginx işlemlerini takip edebilirsiniz:
<programlisting>
C:\nginx-<mainline_version />>tasklist /fi "imagename eq nginx.exe"
Image Name PID Session Name Session# Mem Usage
=============== ======== ============== ========== ============
nginx.exe 652 Console 0 2 780 K
nginx.exe 1332 Console 0 3 112 K
</programlisting>
Bu işlemlerden biri ana, diğerleri işçi işlemleridir.
Eğer nginx başlamazsa <path>logs\error.log</path> dosyasından nedenini öğrenebilirsiniz.
Eğer kayıt (log) dosyası yaratılmamış ise bunun nedeni de Windows Event Log içerisinde belirtilmiştir.
Eğer beklenen sayfa yerine hata sayfası ile karşılaşırsanız, yine <path>logs\error.log</path> dosyasını kontrol etmelisiniz.
</para>
<para>
nginx/Windows, yapılandırmada yer alan nisbi dizin yolları için yürütüldüğü klasörü, önek klasör olarak kullanır.
Buna örnek olarak, önek klasör şu şekildedir:
<path>C:\nginx-<mainline_version />\</path>.
Ayarlarda yer alan dizin yolları Unix-stili kesme işaretleri ile belirtilir:
<programlisting>
access_log logs/site.log;
root C:/web/html;
</programlisting>
</para>
<para>
nginx/Windows bir servis olarak değil, standart konsol uygulaması olarak yürütülür ve aşağıdaki komutlar ile yönetilir:
<table note="yes">
<tr>
<td width="20%">nginx -s stop</td>
<td>hızlı çıkış</td>
</tr>
<tr>
<td>nginx -s quit</td>
<td>yavaş çıkış</td>
</tr>
<tr>
<td>nginx -s reload</td>
<td>
ayarları değiştirmek,
yeni işçi çalıştırmak,
eski işçi işlemden yavaşça çıkmak
</td>
</tr>
<tr>
<td>nginx -s reopen</td>
<td>Kayıt dosyalarını tekrar açmak</td>
</tr>
</table>
</para>
</section>
<section id="known_issues"
name="Bilinen sorunlar">
<list type="bullet">
<listitem>
Bir çok işçi yürütülebildiği halde sadece biri iş yapabilmektedir.
</listitem>
<listitem>
Bir işçi, 1024 eşzamanlı bağlantıdan fazlasını karşılayamamaktadır.
</listitem>
<listitem>
Paylaşımlı hafıza desteğine ihtiyaç duyan önbellek ve diğer modüller,
“address space layout randomization” etkin olduğundan,
Windows Vista ve sonraki versiyonlarda çalışmamaktadır.
</listitem>
</list>
</section>
<section id="possible_future_enhancements"
name="Muhtemel geliştirmeler">
<list type="bullet">
<listitem>
Servis olarak yürütme.
</listitem>
<listitem>
I/O completion portlarını, uyarı methodu olarak kulanmak.
</listitem>
<listitem>
Bir işçi işleminde (worker process) çoklu thread (yürütme birimi) kullanmak.
</listitem>
</list>
</section>
</article>