<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/install.unix.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'install.unix.lighttpd-14.php',
    1 => 'Unix sistemlerde Lighttpd 1.4',
    2 => 'Unix sistemlerde Lighttpd 1.4',
  ),
  'up' => 
  array (
    0 => 'install.unix.php',
    1 => 'Unix Sistemlere Kurulum',
  ),
  'prev' => 
  array (
    0 => 'install.unix.nginx.php',
    1 => 'Nginx 1.4.x on Unix systems',
  ),
  'next' => 
  array (
    0 => 'install.unix.litespeed.php',
    1 => 'LiteSpeed Web Server/OpenLiteSpeed Web Server on Unix systems',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'install/unix/lighttpd-14.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="install.unix.lighttpd-14" class="sect1">
 <h2 class="title">Unix sistemlerde Lighttpd 1.4</h2>

 <p class="para">
  Bu bölüm PHP&#039;nin Unix sistemlerde Lighttpd 1.4 ile kurulumu hakkında
  bilgiler ve ipuçları içerir.
 </p>

 <p class="para">
  Lütfen devam etmeden önce <a href="http://trac.lighttpd.net/trac/" class="link external">&raquo;&nbsp;Lighttpd
  redmine</a> sitesini ziyaret edip Lighttpd&#039;nin doğru düzgün nasıl
  kurulacağını öğreniniz.
 </p>

 <p class="para">
  PHP ve Lighttpd&#039;ye bağlanmak için tercih edilen SAPI FastCGI&#039;dir. FastCGI,
  php-cgi&#039;yi otosihirli bir şekilde etkin kılar.
 </p>

 <div class="sect2" id="install.unix.lighttpd-14.lighttpd-spawn">
  <h3 class="title">Lighttpd&#039;ye PHP süreçlerini çatallattırmak</h3>

  <p class="para">
   Lighttpd&#039;nin PHP&#039;ye bağlanmasını ve fastcgi süreçlerini çatallamasını
   sağlamak üzere yapılandırmak için <var class="filename">lighttpd.conf</var>
   dosyasını düzenlemeniz gerekir. FastCGI süreçlerine yerel sistemden
   bağlanmak için soketler tercih edilir.
  </p>

  <div class="example" id="example-1">
   <p><strong>Örnek 1 - lighttpd.conf&#039;tan bir bölüm</strong></p>
   <div class="example-contents screen">
<div class="cdata"><pre>
server.modules += ( &quot;mod_fastcgi&quot; )

fastcgi.server = ( &quot;.php&quot; =&gt;
  ((
    &quot;socket&quot; =&gt; &quot;/tmp/php.socket&quot;,
    &quot;bin-path&quot; =&gt; &quot;/usr/local/bin/php-cgi&quot;,
    &quot;bin-environment&quot; =&gt; (
      &quot;PHP_FCGI_CHILDREN&quot; =&gt; &quot;16&quot;,
      &quot;PHP_FCGI_MAX_REQUESTS&quot; =&gt; &quot;10000&quot;
    ),
    &quot;min-procs&quot; =&gt; 1,
    &quot;max-procs&quot; =&gt; 1,
    &quot;idle-timeout&quot; =&gt; 20
  ))
)
</pre></div>

   </div>
  </div>

  <p class="para">
   <var class="filename">bin-path</var> yönergesi lighttpd&#039;nin fastcgi süreçlerini
   dinamik olarak çatallamasına izin verir. PHP kendi çocuklarını
   <var class="envar">PHP_FCGI_CHILDREN</var> ortam değişkenine göre çatallayacaktır.
   Çatallanan sürecin ortamını <code class="literal">bin-environment</code> yönergesi
   tanımlar. PHP, <var class="envar">PHP_FCGI_MAX_REQUESTS</var> değerinin aşılmasına
   sebep olan çocuk süreci öldürür. PHP&#039;de <code class="literal">min-procs</code> ve
   <code class="literal">max-procs</code> yönergelerinden genel olarak kaçınılması
   gerekir. PHP kendi çocuklarını yönetir ve makine kodu önbelleklerini APC
   gibi çocukları arasında paylaştırır. <code class="literal">min-procs</code>
   yönergesine <code class="literal">1</code>&#039;den büyük bir değer atanmışsa PHP
   yanıtçılarının sayısı <var class="envar">PHP_FCGI_CHILDREN</var> değerinin katları
   olacaktır (<code class="literal">2 min-procs * 16 çocuk eşittir 32 yanıtçı</code>).
  </p>
 </div>

 <div class="sect2" id="install.unix.lighttpd-14.spawn-fcgi">
  <h3 class="title">Spawn-fcgi ile çatallama</h3>

  <p class="para">
   Lighttpd, FastCGI süreçlerinin çatallanmasını kolaylaştırmak için
   <code class="code">spawn-fcgi</code> adında bir uygulamayla gelir.
  </p>
 </div>

 <div class="sect2" id="install.unix.lighttpd-14.spawn-php">
  <h3 class="title">php-cgi&#039;nin çatallanması</h3>

  <p class="para">
   Süreçleri <code class="code">spawn-fcgi</code> kullanmaksızın çatallamak mümkünse de,
   biraz ağır kaldırma çalışmak gerekir. Gelen istekleri karşılamak için
   PHP&#039;nin kaç çocuk çatallayacağı <var class="envar">PHP_FCGI_CHILDREN</var> ortam
   değişkeni ile belirlenir. PHP&#039;nin her çocuğunun kaç isteklik yaşayacağını
   ise <var class="envar">PHP_FCGI_MAX_REQUESTS</var> belirler. Aşağıda, PHP
   yanıtçılarının çatallanmasına yardımcı olan basit bir <code class="code">bash</code>
   betiği verilmiştir.
  </p>

  <div class="example" id="example-2">
   <p><strong>Örnek 2 - FastCGI Yanıtçılarının Çatallanması</strong></p>
   <div class="example-contents screen">
<div class="cdata"><pre>
#!/bin/sh

# php-cgi çalıştırılabilirinin yeri
PHP=/usr/local/bin/php-cgi

# PID dosyasının yeri
PHP_PID=/tmp/php.pid

# Dinlenecek adres
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Dinlenecek soket
FCGI_BIND_ADDRESS=/tmp/php.sock

PHP_FCGI_CHILDREN=16
PHP_FCGI_MAX_REQUESTS=10000

env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
       PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
       $PHP -b $FCGI_BIND_ADDRESS &amp;

echo $! &gt; &quot;$PHP_PID&quot;

</pre></div>
   </div>
  </div>
 </div>

 <div class="sect2" id="install.unix.lighttpd-14.remote-fcgi">
  <h3 class="title">Uzak FCGI (nesnel) örneklerine bağlanmak</h3>

  <p class="para">
   Uygulamaları dengelemek için FastCGI örnekleri çok sayıda uzak makineye
   çatallanabilir.
  </p>

  <div class="example" id="example-3">
   <p><strong>Örnek 3 - Uzak FCGI örneklerine bağlanmak</strong></p>
   <div class="example-contents screen">
<div class="cdata"><pre>
fastcgi.server = ( &quot;.php&quot; =&gt;
   (( &quot;host&quot; =&gt; &quot;10.0.0.2&quot;, &quot;port&quot; =&gt; 1030 ),
    ( &quot;host&quot; =&gt; &quot;10.0.0.3&quot;, &quot;port&quot; =&gt; 1030 ))
)
</pre></div>
   </div>
  </div>
 </div>
</div><?php manual_footer($setup); ?>