{"id":33333,"date":"2025-11-01T17:41:34","date_gmt":"2025-11-01T14:41:34","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=33333"},"modified":"2025-11-01T17:41:34","modified_gmt":"2025-11-01T14:41:34","slug":"nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/","title":{"rendered":"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu"},"content":{"rendered":"<p><body><\/p>\n<h2>Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu<\/h2>\n<p>Bir web uygulamas\u0131n\u0131n performans\u0131, kullan\u0131c\u0131 deneyimi ve i\u015fletme ba\u015far\u0131s\u0131 i\u00e7in kritik \u00f6neme sahiptir. \u00d6zellikle s\u0131n\u0131rl\u0131 kaynaklara sahip bir Sanal \u00d6zel Sunucu (VPS) \u00fczerinde \u00e7al\u0131\u015f\u0131rken, her bir sistem kayna\u011f\u0131n\u0131n verimli kullan\u0131lmas\u0131 hayati hale gelir. Bu makale, Ubuntu 13.04 i\u015fletim sistemine sahip bir VPS \u00fczerinde Nginx web sunucusu ve PHP-FPM (FastCGI Process Manager) havuzlar\u0131n\u0131 kullanarak PHP tabanl\u0131 uygulamalar\u0131n performans\u0131n\u0131 nas\u0131l optimize edebilece\u011finizi detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r. Ubuntu 13.04 eski bir s\u00fcr\u00fcm olsa da, burada a\u00e7\u0131klanan temel optimizasyon prensipleri modern sistemlerde de ge\u00e7erlili\u011fini korumaktad\u0131r. Amac\u0131m\u0131z, sunucunuzun daha fazla iste\u011fi daha h\u0131zl\u0131 ve daha g\u00fcvenilir bir \u015fekilde i\u015fleyebilmesini sa\u011flamakt\u0131r.<\/p>\n<p>Nginx, y\u00fcksek performansl\u0131, hafif ve olay tabanl\u0131 mimarisi sayesinde Apache gibi geleneksel sunuculara g\u00f6re daha az kaynak t\u00fcketerek daha fazla e\u015fzamanl\u0131 ba\u011flant\u0131y\u0131 y\u00f6netebilen pop\u00fcler bir web sunucusudur. PHP-FPM ise, PHP betiklerini Nginx gibi web sunucular\u0131yla h\u0131zl\u0131 ve verimli bir \u015fekilde ileti\u015fim kurmas\u0131n\u0131 sa\u011flayan bir FastCGI uygulamas\u0131d\u0131r. Bu iki teknolojinin do\u011fru yap\u0131land\u0131r\u0131lmas\u0131, PHP uygulamalar\u0131n\u0131z\u0131n h\u0131z\u0131n\u0131 ve kararl\u0131l\u0131\u011f\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.<\/p>\n<h3>Nginx Kurulumu ve Temel Yap\u0131land\u0131rma<\/h3>\n<p>Nginx, hafif yap\u0131s\u0131 ve y\u00fcksek performans\u0131yla modern web sunucular\u0131n\u0131n vazge\u00e7ilmez bir bile\u015fenidir. Ubuntu 13.04 \u00fczerinde Nginx&#8217;i kurmak ve temel yap\u0131land\u0131rmas\u0131n\u0131 optimize etmek, performans yolculu\u011fumuzun ilk ad\u0131m\u0131d\u0131r.<\/p>\n<h4>Ubuntu 13.04 \u00dczerine Nginx Kurulumu<\/h4>\n<p>Nginx&#8217;i Ubuntu 13.04&#8217;e kurmak olduk\u00e7a basittir. \u00d6ncelikle paket listelerinizi g\u00fcncellemeli ve ard\u0131ndan Nginx paketini y\u00fcklemelisiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get install nginx<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra Nginx servisi otomatik olarak ba\u015flayacakt\u0131r. \u00c7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo service nginx status<\/code><\/pre>\n<p>E\u011fer her \u015fey yolundaysa, bir web taray\u0131c\u0131s\u0131ndan VPS&#8217;inizin IP adresini ziyaret etti\u011finizde &#8220;Welcome to nginx!&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h4>Nginx Temel Yap\u0131land\u0131rma Dosyas\u0131 (nginx.conf) Optimizasyonu<\/h4>\n<p>Nginx&#8217;in ana yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/nginx\/nginx.conf<\/code> adresinde bulunur. Bu dosyada yapaca\u011f\u0131m\u0131z baz\u0131 de\u011fi\u015fiklikler, sunucunuzun kaynaklar\u0131 daha verimli kullanmas\u0131n\u0131 sa\u011flayacakt\u0131r.<\/p>\n<pre><code class=\"language-nginx\"># \/etc\/nginx\/nginx.conf dosyas\u0131ndan \u00f6rnekler ve a\u00e7\u0131klamalar\n\nuser www-data; # Nginx'in hangi kullan\u0131c\u0131 ve grup alt\u0131nda \u00e7al\u0131\u015faca\u011f\u0131n\u0131 belirler. G\u00fcvenlik i\u00e7in \u00f6nemlidir.\nworker_processes auto; # \u0130\u015f\u00e7i s\u00fcre\u00e7lerinin say\u0131s\u0131. 'auto' genellikle CPU \u00e7ekirdek say\u0131n\u0131za e\u015fittir.\n                       # Y\u00fcksek trafikli siteler i\u00e7in CPU \u00e7ekirdek say\u0131s\u0131na e\u015fit veya 2 kat\u0131 olarak ayarlanabilir.\n                       # Her i\u015f\u00e7i s\u00fcreci kendi ba\u015f\u0131na ba\u011f\u0131ms\u0131zd\u0131r ve e\u015fzamanl\u0131 ba\u011flant\u0131lar\u0131 i\u015fler.\n\npid \/run\/nginx.pid; # Nginx'in ana s\u00fcre\u00e7 kimli\u011fini (PID) tuttu\u011fu dosya.\n\nevents {\n    worker_connections 1024; # Her bir i\u015f\u00e7i s\u00fcrecinin ayn\u0131 anda i\u015fleyebilece\u011fi maksimum ba\u011flant\u0131 say\u0131s\u0131.\n                             # Bu de\u011fer, sunucunun dosya tan\u0131mlay\u0131c\u0131 (file descriptor) limitine (ulimit -n) ba\u011fl\u0131d\u0131r.\n                             # \u00d6rne\u011fin, ulimit -n 65535 ise, worker_connections 1024 * worker_processes\n                             # toplam ba\u011flant\u0131 kapasitesini belirler.\n    multi_accept on; # Yeni ba\u011flant\u0131lar\u0131 kabul etmek i\u00e7in bir i\u015f\u00e7i s\u00fcrecinin ayn\u0131 anda birden fazla ba\u011flant\u0131\n                     # kabul etmesini sa\u011flar. Y\u00fcksek trafikli sunucular i\u00e7in faydal\u0131d\u0131r.\n    use epoll; # Linux sistemler i\u00e7in en verimli olay i\u015fleme y\u00f6ntemidir. FreeBSD i\u00e7in kqueue, Solaris i\u00e7in \/dev\/poll.\n}\n\nhttp {\n    ## Temel Ayarlar ##\n    sendfile on; # Do\u011frudan \u00e7ekirdekten dosya g\u00f6ndermeyi etkinle\u015ftirir. Diskten a\u011fa veri kopyalama s\u00fcrecini h\u0131zland\u0131r\u0131r.\n    tcp_nopush on; # sendfile ile birlikte kullan\u0131ld\u0131\u011f\u0131nda, TCP paketlerini doldurarak a\u011f verimlili\u011fini art\u0131r\u0131r.\n    tcp_nodelay on; # TCP gecikmesini azalt\u0131r, k\u00fc\u00e7\u00fck veri paketlerinin hemen g\u00f6nderilmesini sa\u011flar.\n    keepalive_timeout 65; # Kal\u0131c\u0131 ba\u011flant\u0131lar\u0131n ne kadar s\u00fcre a\u00e7\u0131k kalaca\u011f\u0131n\u0131 belirler. Daha y\u00fcksek de\u011ferler\n                          # daha az ba\u011flant\u0131 kurulumu, ancak daha fazla kaynak t\u00fcketimi anlam\u0131na gelebilir.\n    types_hash_max_size 2048; # MIME tiplerinin hash tablosu boyutu.\n    server_tokens off; # Nginx s\u00fcr\u00fcm numaras\u0131n\u0131 hata sayfalar\u0131nda ve HTTP ba\u015fl\u0131klar\u0131nda gizler. G\u00fcvenlik i\u00e7in \u00f6nemlidir.\n\n    ## G\u00fcnl\u00fckleme Ayarlar\u0131 ##\n    # access_log \/var\/log\/nginx\/access.log; # Eri\u015fim g\u00fcnl\u00fcklerini kaydeder. Y\u00fcksek trafikli sitelerde\n                                          # disk G\/\u00c7'sini azaltmak i\u00e7in kapat\u0131labilir veya farkl\u0131 bir sunucuya g\u00f6nderilebilir.\n    error_log \/var\/log\/nginx\/error.log warn; # Hata g\u00fcnl\u00fcklerini kaydeder. 'warn' seviyesi, sadece uyar\u0131 ve \u00fczeri\n                                            # hatalar\u0131 kaydeder. 'error' veya 'crit' seviyeleri daha az detay kaydeder.\n\n    ## Gzip S\u0131k\u0131\u015ft\u0131rma ##\n    gzip on; # Gzip s\u0131k\u0131\u015ft\u0131rmay\u0131 etkinle\u015ftirir. Bant geni\u015fli\u011fini azalt\u0131r ve y\u00fckleme s\u00fcrelerini iyile\u015ftirir.\n    gzip_vary on; # Proxy sunucular\u0131n\u0131n s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f ve s\u0131k\u0131\u015ft\u0131r\u0131lmam\u0131\u015f i\u00e7erikleri \u00f6nbelle\u011fe almas\u0131n\u0131 sa\u011flar.\n    gzip_proxied any; # T\u00fcm proxy iste\u011fi t\u00fcrleri i\u00e7in gzip s\u0131k\u0131\u015ft\u0131rmay\u0131 etkinle\u015ftirir.\n    gzip_comp_level 6; # S\u0131k\u0131\u015ft\u0131rma seviyesi (1-9). 6 genellikle iyi bir denge sunar.\n    gzip_buffers 16 8k; # S\u0131k\u0131\u015ft\u0131rma i\u00e7in kullan\u0131lan tampon say\u0131s\u0131 ve boyutu.\n    gzip_http_version 1.1; # Hangi HTTP protokol\u00fc versiyonlar\u0131 i\u00e7in gzip'in etkin olaca\u011f\u0131n\u0131 belirler.\n    gzip_min_length 256; # S\u0131k\u0131\u015ft\u0131r\u0131lacak minimum yan\u0131t boyutu. \u00c7ok k\u00fc\u00e7\u00fck dosyalar\u0131 s\u0131k\u0131\u015ft\u0131rmak maliyetli olabilir.\n    gzip_types text\/plain text\/css application\/json application\/x-javascript text\/xml application\/xml application\/xml+rss text\/javascript;\n    # S\u0131k\u0131\u015ft\u0131r\u0131lacak MIME t\u00fcrleri.\n\n    ## \u00d6nbellekleme ##\n    # statik dosyalar i\u00e7in taray\u0131c\u0131 \u00f6nbelleklemesi\n    location ~* \\.(jpg|jpeg|gif|png|css|js|ico|xml|html)$ {\n        expires 30d; # Bu dosya t\u00fcrlerinin taray\u0131c\u0131da 30 g\u00fcn boyunca \u00f6nbelle\u011fe al\u0131nmas\u0131n\u0131 sa\u011flar.\n        log_not_found off; # Bulunamayan statik dosyalar i\u00e7in hata g\u00fcnl\u00fc\u011f\u00fc kayd\u0131n\u0131 kapat\u0131r.\n    }\n\n    ## Di\u011fer Ayarlar ##\n    client_max_body_size 100M; # \u0130stemciden gelen maksimum istek g\u00f6vdesi boyutu (\u00f6rne\u011fin dosya y\u00fcklemeleri i\u00e7in).\n    # client_body_buffer_size 128k; # \u0130stemci iste\u011fi g\u00f6vdesi i\u00e7in tampon boyutu.\n    # client_header_buffer_size 1k; # \u0130stemci ba\u015fl\u0131\u011f\u0131 i\u00e7in tampon boyutu.\n    # large_client_header_buffers 4 8k; # B\u00fcy\u00fck istemci ba\u015fl\u0131klar\u0131 i\u00e7in tampon say\u0131s\u0131 ve boyutu.\n\n    include \/etc\/nginx\/conf.d\/*.conf; # Ek yap\u0131land\u0131rma dosyalar\u0131n\u0131 dahil eder.\n    include \/etc\/nginx\/sites-enabled\/*; # Sanal host yap\u0131land\u0131rmalar\u0131n\u0131 dahil eder.\n}<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri yapt\u0131ktan sonra Nginx yap\u0131land\u0131rmas\u0131n\u0131 test etmeyi ve servisi yeniden ba\u015flatmay\u0131 unutmay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t\nsudo service nginx restart<\/code><\/pre>\n<h3>PHP-FPM Kurulumu ve Detayl\u0131 Havuz Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>PHP-FPM, PHP betiklerinin Nginx ile verimli bir \u015fekilde ileti\u015fim kurmas\u0131n\u0131 sa\u011flayan kritik bir bile\u015fendir. Do\u011fru yap\u0131land\u0131r\u0131lm\u0131\u015f PHP-FPM havuzlar\u0131, uygulaman\u0131z\u0131n performans\u0131n\u0131 ve kararl\u0131l\u0131\u011f\u0131n\u0131 do\u011frudan etkiler.<\/p>\n<h4>PHP-FPM Kurulumu<\/h4>\n<p>Ubuntu 13.04 \u00fczerinde PHP 5 ve PHP-FPM&#8217;i kurmak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install php5-fpm php5-cli<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra PHP-FPM servisi otomatik olarak ba\u015flayacakt\u0131r. Durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo service php5-fpm status<\/code><\/pre>\n<h4>php.ini Optimizasyonu<\/h4>\n<p>PHP&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 olan <code>php.ini<\/code> (genellikle <code>\/etc\/php5\/fpm\/php.ini<\/code> adresinde bulunur), PHP betiklerinin \u00e7al\u0131\u015fma \u015feklini belirler. Performans ve g\u00fcvenlik i\u00e7in baz\u0131 \u00f6nemli ayarlar:<\/p>\n<pre><code class=\"language-ini\">; \/etc\/php5\/fpm\/php.ini dosyas\u0131ndan \u00f6rnekler\n\nmemory_limit = 128M ; Bir beti\u011fin kullanabilece\u011fi maksimum bellek miktar\u0131.\n                    ; Uygulaman\u0131z\u0131n ihtiyac\u0131na g\u00f6re art\u0131r\u0131labilir (\u00f6rn. 256M, 512M).\n                    ; Ancak, \u00e7ok y\u00fcksek de\u011ferler bellek t\u00fckenmesine yol a\u00e7abilir.\n\nmax_execution_time = 30 ; Bir beti\u011fin \u00e7al\u0131\u015fmas\u0131na izin verilen maksimum s\u00fcre (saniye).\n                        ; Uzun s\u00fcren i\u015flemler i\u00e7in bu de\u011feri art\u0131rman\u0131z gerekebilir.\n                        ; Ancak, sonsuz d\u00f6ng\u00fcleri \u00f6nlemek i\u00e7in dikkatli olun.\n\nupload_max_filesize = 20M ; \u0130zin verilen maksimum dosya y\u00fckleme boyutu.\npost_max_size = 20M ; HTTP POST ile g\u00f6nderilebilecek maksimum veri boyutu.\n                      ; upload_max_filesize de\u011ferinden b\u00fcy\u00fck veya ona e\u015fit olmal\u0131d\u0131r.\n\ndate.timezone = Europe\/Istanbul ; PHP'nin kullanaca\u011f\u0131 zaman dilimi. Performans de\u011fil,\n                                ; ancak do\u011fru tarih\/saat i\u015flemleri i\u00e7in \u00f6nemlidir.\n\n; OPcache (PHP 5.5+ ile gelir, 13.04'te manuel kurulum gerekebilir veya APC kullan\u0131labilir)\n; E\u011fer y\u00fckl\u00fcyse, opcode \u00f6nbellekleme performans\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde art\u0131r\u0131r.\n; php5-opcache paketini y\u00fcklemeniz gerekebilir: sudo apt-get install php5-opcache\n; [opcache]\n; opcache.enable=1\n; opcache.memory_consumption=128 ; \u00d6nbellek i\u00e7in ayr\u0131lan bellek (MB).\n; opcache.interned_strings_buffer=8 ; Dahili dizeler i\u00e7in bellek (MB).\n; opcache.max_accelerated_files=4000 ; \u00d6nbelle\u011fe al\u0131nabilecek maksimum dosya say\u0131s\u0131.\n; opcache.revalidate_freq=60 ; Dosya de\u011fi\u015fikliklerini kontrol etme s\u0131kl\u0131\u011f\u0131 (saniye).\n; opcache.fast_shutdown=1 ; H\u0131zl\u0131 kapanma modunu etkinle\u015ftirir.\n\n; G\u00fcvenlik\ncgi.fix_pathinfo=0 ; \u00c7OK \u00d6NEML\u0130! Bu ayar, Nginx ile PHP-FPM kullan\u0131rken g\u00fcvenlik a\u00e7\u0131\u011f\u0131n\u0131 \u00f6nler.\n                     ; Nginx'in <code>fastcgi_param SCRIPT_FILENAME<\/code> ayar\u0131yla birlikte kullan\u0131lmal\u0131d\u0131r.\n                     ; 0 olarak ayarlanmas\u0131, Nginx'in PHP betiklerini yorumlama \u015feklini d\u00fczeltir\n                     ; ve zararl\u0131 URL'lerin \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 engeller.\n\nrealpath_cache_size = 32M ; Ger\u00e7ek yol \u00f6nbelle\u011fi boyutu. \u00d6zellikle \u00e7ok say\u0131da dosya i\u00e7eren\n                          ; uygulamalar (\u00f6rn. CMS'ler) i\u00e7in performans\u0131 art\u0131r\u0131r.\nrealpath_cache_ttl = 3600 ; Ger\u00e7ek yol \u00f6nbelle\u011fi giri\u015flerinin \u00f6mr\u00fc (saniye).<\/code><\/pre>\n<p><code>php.ini<\/code> dosyas\u0131nda yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin ge\u00e7erli olmas\u0131 i\u00e7in PHP-FPM servisini yeniden ba\u015flatmal\u0131s\u0131n\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo service php5-fpm restart<\/code><\/pre>\n<h4>PHP-FPM Havuz Yap\u0131land\u0131rmas\u0131 (www.conf) ve Performans Ayarlar\u0131<\/h4>\n<p>PHP-FPM, farkl\u0131 uygulamalar veya kullan\u0131c\u0131lar i\u00e7in ayr\u0131 havuzlar olu\u015fturman\u0131za olanak tan\u0131r. Ana havuz yap\u0131land\u0131rma dosyas\u0131 genellikle <code>\/etc\/php5\/fpm\/pool.d\/www.conf<\/code> adresindedir. Bu dosyadaki ayarlar, PHP-FPM s\u00fcre\u00e7lerinin nas\u0131l y\u00f6netilece\u011fini belirler.<\/p>\n<pre><code class=\"language-ini\">; \/etc\/php5\/fpm\/pool.d\/www.conf dosyas\u0131ndan \u00f6rnekler\n\n[www] ; Havuz ad\u0131\n\nuser = www-data ; PHP s\u00fcre\u00e7lerinin \u00e7al\u0131\u015faca\u011f\u0131 kullan\u0131c\u0131.\ngroup = www-data ; PHP s\u00fcre\u00e7lerinin \u00e7al\u0131\u015faca\u011f\u0131 grup.\n\n; Nginx ile PHP-FPM aras\u0131ndaki ileti\u015fim y\u00f6ntemi.\n; Unix soketleri (unix:\/var\/run\/php5-fpm.sock) TCP soketlerine (127.0.0.1:9000) g\u00f6re\n; daha az overhead'e sahiptir ve yerel ileti\u015fim i\u00e7in daha h\u0131zl\u0131d\u0131r.\nlisten = \/var\/run\/php5-fpm.sock\n\n; Soket izinleri. Nginx'in bu sokete eri\u015febilmesi i\u00e7in do\u011fru ayarlanmal\u0131d\u0131r.\nlisten.owner = www-data\nlisten.group = www-data\nlisten.mode = 0660\n\n; S\u00fcre\u00e7 y\u00f6neticisi (Process Manager) ayarlar\u0131. Bu, en kritik optimizasyon noktalar\u0131ndan biridir.\n; pm = dynamic: S\u00fcre\u00e7ler dinamik olarak olu\u015fturulur ve sonland\u0131r\u0131l\u0131r.\n;               Bellek tasarrufu sa\u011flar, ancak yeni isteklerde hafif gecikme ya\u015fanabilir.\n; pm = static: Sabit say\u0131da s\u00fcre\u00e7 her zaman \u00e7al\u0131\u015f\u0131r.\n;              Daha h\u0131zl\u0131 yan\u0131t s\u00fcreleri, ancak daha fazla bellek t\u00fcketimi.\n; pm = ondemand: S\u00fcre\u00e7ler sadece istek geldi\u011finde olu\u015fturulur ve belirli bir s\u00fcre bo\u015fta kald\u0131ktan sonra sonland\u0131r\u0131l\u0131r.\n;                En \u00e7ok bellek tasarrufu sa\u011flar, ancak en y\u00fcksek gecikmeye sahip olabilir.\n\n; \u00c7o\u011fu VPS i\u00e7in 'dynamic' iyi bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. Y\u00fcksek trafikli sunucular veya\n; s\u00fcrekli y\u00fcksek y\u00fck alt\u0131nda \u00e7al\u0131\u015fan uygulamalar i\u00e7in 'static' daha iyi olabilir.\n\npm = dynamic\npm.max_children = 50 ; Maksimum \u00e7ocuk (child) s\u00fcreci say\u0131s\u0131.\n                      ; Bu de\u011fer, sunucunuzun RAM'ine ve PHP betiklerinizin bellek t\u00fcketimine ba\u011fl\u0131d\u0131r.\n                      ; Hesaplama: (Toplam RAM - Nginx\/DB\/OS RAM) \/ (Ortalama PHP s\u00fcreci belle\u011fi)\n                      ; \u00d6rne\u011fin, 1GB RAM'iniz varsa ve PHP s\u00fcreci ortalama 30MB kullan\u0131yorsa:\n                      ; (1024MB - 200MB) \/ 30MB = ~27. Max \u00e7ocuk say\u0131s\u0131n\u0131 buna g\u00f6re ayarlay\u0131n.\n                      ; \u00c7ok y\u00fcksek bir de\u011fer, sunucunuzun belle\u011finin t\u00fckenmesine yol a\u00e7abilir.\n\npm.start_servers = 5 ; PHP-FPM ba\u015flad\u0131\u011f\u0131nda olu\u015fturulacak \u00e7ocuk s\u00fcreci say\u0131s\u0131.\npm.min_spare_servers = 5 ; Bo\u015fta bekleyen minimum \u00e7ocuk s\u00fcreci say\u0131s\u0131.\npm.max_spare_servers = 35 ; Bo\u015fta bekleyen maksimum \u00e7ocuk s\u00fcreci say\u0131s\u0131.\n                         ; min_spare_servers ve max_spare_servers aras\u0131ndaki fark,\n                         ; y\u00fck de\u011fi\u015fimlerine uyum sa\u011flamak i\u00e7in PHP-FPM'in esnekli\u011fini belirler.\n                         ; max_spare_servers, max_children de\u011ferinden k\u00fc\u00e7\u00fck olmal\u0131d\u0131r.\n\n; S\u00fcre\u00e7 ba\u015f\u0131na maksimum istek. Belirli say\u0131da istekten sonra s\u00fcre\u00e7leri yeniden ba\u015flat\u0131r.\n; Bellek s\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olabilir.\npm.max_requests = 500\n\n; Bir beti\u011fin \u00e7al\u0131\u015fmas\u0131na izin verilen maksimum s\u00fcre. Bu s\u00fcre a\u015f\u0131ld\u0131\u011f\u0131nda betik sonland\u0131r\u0131l\u0131r.\n; php.ini'deki max_execution_time'a benzer, ancak FPM seviyesinde uygulan\u0131r.\nrequest_terminate_timeout = 30s\n\n; Yava\u015f betiklerin g\u00fcnl\u00fc\u011fe kaydedilmesi i\u00e7in e\u015fik s\u00fcresi.\n; Bu s\u00fcreyi a\u015fan betikler slow log dosyas\u0131na kaydedilir ve performans sorunlar\u0131n\u0131 tespit etmeye yard\u0131mc\u0131 olur.\nrequest_slowlog_timeout = 5s\nslowlog = \/var\/log\/php5-fpm-slow.log\n\n; PHP betiklerinin \u00e7al\u0131\u015faca\u011f\u0131 k\u00f6k dizin. G\u00fcvenlik i\u00e7in \u00f6nemlidir.\n; open_basedir = \/var\/www\/html\/:\/tmp\/\n\n; Ortam de\u011fi\u015fkenlerini ayarlayabilirsiniz.\n; env[HOSTNAME] = $HOSTNAME\n; env[PATH] = \/usr\/local\/bin:\/usr\/bin:\/bin\n; env[TMP] = \/tmp\n; env[TMPDIR] = \/tmp\n; env[TEMP] = \/tmp<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra PHP-FPM servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo service php5-fpm restart<\/code><\/pre>\n<h3>Nginx ve PHP-FPM Entegrasyonu ve Sanal Host Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Nginx&#8217;in PHP-FPM ile do\u011fru \u015fekilde ileti\u015fim kurmas\u0131 i\u00e7in sanal host (server block) yap\u0131land\u0131rmas\u0131nda \u00f6zel ayarlar yap\u0131lmas\u0131 gerekir.<\/p>\n<h4>Nginx Sanal Host Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Web sitenizin yap\u0131land\u0131rma dosyas\u0131 genellikle <code>\/etc\/nginx\/sites-available\/default<\/code> veya <code>\/etc\/nginx\/sites-available\/your_site_name.conf<\/code> adresinde bulunur. Yeni bir site i\u00e7in bir dosya olu\u015fturup <code>sites-enabled<\/code> dizinine symlink olu\u015fturman\u0131z \u00f6nerilir.<\/p>\n<pre><code class=\"language-nginx\"># \/etc\/nginx\/sites-available\/your_site_name.conf dosyas\u0131ndan \u00f6rnek\n\nserver {\n    listen 80; # HTTP isteklerini dinler.\n    listen [::]:80; # IPv6 isteklerini dinler.\n\n    server_name your_domain.com www.your_domain.com; # Alan ad\u0131n\u0131z\u0131 buraya yaz\u0131n.\n\n    root \/var\/www\/html\/your_site_folder; # Web sitenizin k\u00f6k dizini.\n    index index.php index.html index.htm; # Varsay\u0131lan dizin dosyalar\u0131.\n\n    # Nginx'in \u00f6nbellekleme ve g\u00fcvenlik i\u00e7in statik dosyalar\u0131 nas\u0131l i\u015fleyece\u011fini belirler.\n    location ~* \\.(jpg|jpeg|gif|png|css|js|ico|xml|html)$ {\n        expires 30d; # Taray\u0131c\u0131 \u00f6nbelleklemesi i\u00e7in.\n        log_not_found off;\n    }\n\n    # Ana dizin ve alt dizinler i\u00e7in PHP betiklerini i\u015fler.\n    location \/ {\n        try_files $uri $uri\/ =404; # E\u011fer dosya veya dizin bulunamazsa 404 d\u00f6nd\u00fcr\u00fcr.\n                                  # PHP tabanl\u0131 CMS'ler (WordPress, Joomla) i\u00e7in\n                                  # try_files $uri $uri\/ \/index.php?$args; kullan\u0131labilir.\n    }\n\n    # PHP dosyalar\u0131n\u0131 PHP-FPM'e iletmek i\u00e7in yap\u0131land\u0131rma.\n    location ~ \\.php$ {\n        include snippets\/fastcgi-php.conf; # Genellikle Ubuntu'da bulunan standart bir yap\u0131land\u0131rma dosyas\u0131.\n                                          # Alternatif olarak a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 do\u011frudan yazabilirsiniz.\n\n        # E\u011fer snippets\/fastcgi-php.conf kullanm\u0131yorsan\u0131z, bu sat\u0131rlar\u0131 ekleyin:\n        fastcgi_pass unix:\/var\/run\/php5-fpm.sock; # PHP-FPM ile ileti\u015fim i\u00e7in Unix soketi kullan\u0131r.\n                                                  # E\u011fer PHP-FPM TCP portunda dinliyorsa: fastcgi_pass 127.0.0.1:9000;\n        fastcgi_index index.php;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params; # FastCGI parametrelerini i\u00e7erir.\n    }\n\n    # G\u00fcvenlik: .ht* dosyalar\u0131na eri\u015fimi engeller.\n    location ~ \/\\.ht {\n        deny all;\n    }\n\n    # Log dosyalar\u0131 (iste\u011fe ba\u011fl\u0131, genel nginx.conf'ta da ayarlanabilir)\n    access_log \/var\/log\/nginx\/your_site_access.log;\n    error_log \/var\/log\/nginx\/your_site_error.log warn;\n}<\/code><\/pre>\n<p>Yeni yap\u0131land\u0131rmay\u0131 etkinle\u015ftirmek i\u00e7in bir sembolik ba\u011flant\u0131 olu\u015fturun ve Nginx&#8217;i yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/your_site_name.conf \/etc\/nginx\/sites-enabled\/\nsudo nginx -t\nsudo service nginx reload<\/code><\/pre>\n<h4>G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h4>\n<p>*   <strong><code>cgi.fix_pathinfo=0<\/code><\/strong>: <code>php.ini<\/code> dosyas\u0131nda bu ayar\u0131n <code>0<\/code> oldu\u011fundan emin olun. Bu, Nginx&#8217;in <code>SCRIPT_FILENAME<\/code> parametresini do\u011fru bir \u015fekilde i\u015flemesini sa\u011flayarak, zararl\u0131 kullan\u0131c\u0131lar\u0131n <code>\/.php\/malicious.jpg<\/code> gibi URL&#8217;ler arac\u0131l\u0131\u011f\u0131yla PHP betiklerini \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 engeller.<br \/>\n*   <strong><code>fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<\/code><\/strong>: Nginx yap\u0131land\u0131rman\u0131zda bu parametrenin do\u011fru \u015fekilde ayarland\u0131\u011f\u0131ndan emin olun. Bu, PHP-FPM&#8217;e hangi beti\u011fi \u00e7al\u0131\u015ft\u0131rmas\u0131 gerekti\u011fini kesin olarak bildirir.<br \/>\n*   <strong>Kullan\u0131c\u0131 ve \u0130zinler<\/strong>: Nginx ve PHP-FPM&#8217;in <code>www-data<\/code> gibi ayr\u0131cal\u0131ks\u0131z bir kullan\u0131c\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun. Web k\u00f6k dizininizin (\u00f6rne\u011fin <code>\/var\/www\/html\/your_site_folder<\/code>) do\u011fru izinlere sahip oldu\u011fundan (Nginx kullan\u0131c\u0131s\u0131n\u0131n okuma, PHP-FPM kullan\u0131c\u0131s\u0131n\u0131n yazma izinleri) emin olun.<\/p>\n<h3>Ek Optimizasyon Teknikleri<\/h3>\n<p>Nginx ve PHP-FPM&#8217;i yap\u0131land\u0131rmak \u00f6nemli bir ad\u0131md\u0131r, ancak daha kapsaml\u0131 bir performans art\u0131\u015f\u0131 i\u00e7in ek teknikler de uygulanabilir.<\/p>\n<h4>\u00d6nbellekleme (Caching) Stratejileri<\/h4>\n<p>\u00d6nbellekleme, performans\u0131 art\u0131rman\u0131n ve sunucu y\u00fck\u00fcn\u00fc azaltman\u0131n en etkili yollar\u0131ndan biridir.<\/p>\n<p>*   <strong>PHP Opcode \u00d6nbellekleme (OPcache \/ APC):<\/strong> PHP betikleri her istekte yorumlan\u0131r. Opcode \u00f6nbellekleyiciler (PHP 5.5+ ile OPcache, daha eski s\u00fcr\u00fcmler i\u00e7in APC), betiklerin derlenmi\u015f &#8220;opcode&#8221; formunu bellekte saklayarak tekrar derleme ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r. Bu, PHP i\u015fleme s\u00fcresini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. <code>php.ini<\/code> b\u00f6l\u00fcm\u00fcnde bahsedilen OPcache ayarlar\u0131n\u0131 kontrol edin.<br \/>\n*   <strong>Nginx FastCGI \u00d6nbelle\u011fi:<\/strong> Nginx, PHP-FPM&#8217;den gelen tam yan\u0131tlar\u0131 (HTML \u00e7\u0131kt\u0131s\u0131 gibi) \u00f6nbelle\u011fe alabilir. Bu, belirli bir URL i\u00e7in ayn\u0131 i\u00e7eri\u011fin defalarca PHP taraf\u0131ndan i\u015flenmesini \u00f6nler. \u00d6zellikle statik veya nadiren de\u011fi\u015fen sayfalar i\u00e7in \u00e7ok etkilidir.<\/p>\n<pre><code class=\"language-nginx\"># nginx.conf veya server blo\u011funuzda\n    fastcgi_cache_path \/var\/cache\/nginx\/fastcgi_cache levels=1:2 keys_zone=my_cache:10m inactive=60m;\n    fastcgi_cache_key \"$scheme$request_method$host$request_uri\";\n\n    # PHP location blo\u011funuzda\n    location ~ \\.php$ {\n        fastcgi_pass unix:\/var\/run\/php5-fpm.sock;\n        fastcgi_index index.php;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n\n        fastcgi_cache my_cache; # Tan\u0131mlad\u0131\u011f\u0131n\u0131z \u00f6nbelle\u011fi kullan\u0131r.\n        fastcgi_cache_valid 200 30m; # 200 durum kodlu yan\u0131tlar\u0131 30 dakika \u00f6nbelle\u011fe al\u0131r.\n        fastcgi_cache_valid 404 1m; # 404 durum kodlu yan\u0131tlar\u0131 1 dakika \u00f6nbelle\u011fe al\u0131r.\n        fastcgi_cache_bypass $http_pragma $http_authorization; # Belirli ba\u015fl\u0131klar varsa \u00f6nbelle\u011fi atla.\n        fastcgi_no_cache $http_pragma $http_authorization; # Belirli ba\u015fl\u0131klar varsa \u00f6nbelle\u011fe alma.\n        add_header X-FastCGI-Cache $upstream_cache_status; # \u00d6nbellek durumunu HTTP ba\u015fl\u0131\u011f\u0131na ekler.\n    }<\/code><\/pre>\n<p>    Bu ayarlar\u0131 kullanmadan \u00f6nce <code>\/var\/cache\/nginx\/fastcgi_cache<\/code> dizinini olu\u015fturman\u0131z ve Nginx kullan\u0131c\u0131s\u0131na yazma izinleri vermeniz gerekebilir: <code>sudo mkdir -p \/var\/cache\/nginx\/fastcgi_cache && sudo chown www-data:www-data \/var\/cache\/nginx\/fastcgi_cache<\/code>.<\/p>\n<p>*   <strong>Taray\u0131c\u0131 \u00d6nbellekleme:<\/strong> Statik dosyalar (CSS, JS, resimler) i\u00e7in Nginx&#8217;te <code>expires<\/code> ba\u015fl\u0131klar\u0131n\u0131 kullanarak taray\u0131c\u0131lar\u0131n bu dosyalar\u0131 belirli bir s\u00fcre \u00f6nbelle\u011fe almas\u0131n\u0131 sa\u011flay\u0131n. Bu, tekrarlanan ziyaretlerde sayfa y\u00fckleme s\u00fcrelerini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. (Nginx yap\u0131land\u0131rmas\u0131nda zaten bahsedildi.)<br \/>\n*   <strong>Uygulama Seviyesi \u00d6nbellekleme:<\/strong> Veritaban\u0131 sorgular\u0131, nesneler veya oturum verileri gibi dinamik i\u00e7erikleri \u00f6nbelle\u011fe almak i\u00e7in Redis veya Memcached gibi bellek i\u00e7i \u00f6nbellek sistemleri kullan\u0131n. Bu, veritaban\u0131 y\u00fck\u00fcn\u00fc azalt\u0131r ve uygulaman\u0131n yan\u0131t s\u00fcresini h\u0131zland\u0131r\u0131r.<\/p>\n<h4>Veritaban\u0131 Optimizasyonu<\/h4>\n<p>\u00c7o\u011fu PHP uygulamas\u0131 bir veritaban\u0131 kullan\u0131r. Veritaban\u0131 performans\u0131, genel uygulama h\u0131z\u0131n\u0131 do\u011frudan etkiler.<\/p>\n<p>*   <strong>MySQL\/MariaDB Yap\u0131land\u0131rmas\u0131 (<code>my.cnf<\/code>):<\/strong><br \/>\n    *   <code>innodb_buffer_pool_size<\/code>: InnoDB tablolar\u0131 i\u00e7in ayr\u0131lan ana bellek miktar\u0131. Mevcut RAM&#8217;in %50-70&#8217;i kadar ayarlanmas\u0131 genellikle iyi bir ba\u015flang\u0131\u00e7t\u0131r.<br \/>\n    *   <code>query_cache_size<\/code>: Tekrarlanan sorgular\u0131n sonu\u00e7lar\u0131n\u0131 \u00f6nbelle\u011fe al\u0131r. Ancak, y\u00fcksek yazma y\u00fck\u00fc olan sistemlerde performans\u0131 d\u00fc\u015f\u00fcrebilir, bu nedenle dikkatli kullan\u0131lmal\u0131d\u0131r. Modern MySQL\/MariaDB s\u00fcr\u00fcmlerinde genellikle devre d\u0131\u015f\u0131 b\u0131rak\u0131l\u0131r.<br \/>\n    *   <code>key_buffer_size<\/code>: MyISAM tablolar\u0131 i\u00e7in indeks arabellek boyutu.<br \/>\n    *   <code>max_connections<\/code>: Maksimum e\u015fzamanl\u0131 veritaban\u0131 ba\u011flant\u0131s\u0131 say\u0131s\u0131.<br \/>\n*   <strong>Sorgu Optimizasyonu:<\/strong> Yava\u015f \u00e7al\u0131\u015fan sorgular\u0131 tespit edin (MySQL slow query log). \u0130ndeksleme, sorgular\u0131 yeniden yazma ve gereksiz JOIN i\u015flemlerinden ka\u00e7\u0131nma gibi tekniklerle sorgu performans\u0131n\u0131 art\u0131r\u0131n.<br \/>\n*   <strong>Veritaban\u0131 \u0130ndeksleri:<\/strong> S\u0131k\u00e7a sorgulanan s\u00fctunlara indeksler eklemek, sorgu h\u0131z\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r.<\/p>\n<h4>Sistem Kaynaklar\u0131 ve \u0130zleme (Monitoring)<\/h4>\n<p>Optimizasyon s\u00fcrekli bir s\u00fcre\u00e7tir. Sunucunuzun kaynak kullan\u0131m\u0131n\u0131 izlemek, darbo\u011fazlar\u0131 tespit etmek ve ayarlar\u0131 ince ayar yapmak i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<p>*   <strong>\u0130zleme Ara\u00e7lar\u0131:<\/strong><br \/>\n    *   <code>htop<\/code> veya <code>top<\/code>: CPU, bellek ve \u00e7al\u0131\u015fan s\u00fcre\u00e7leri ger\u00e7ek zamanl\u0131 olarak izler.<br \/>\n    *   <code>vmstat<\/code>: Bellek, disk, takas ve CPU aktivitesini raporlar.<br \/>\n    *   <code>iostat<\/code>: Disk G\/\u00c7 performans\u0131n\u0131 izler.<br \/>\n    *   <code>netstat<\/code>: A\u011f ba\u011flant\u0131lar\u0131n\u0131 ve istatistiklerini g\u00f6sterir.<br \/>\n    *   <code>nginx_stub_status<\/code>: Nginx&#8217;in temel istatistiklerini (aktif ba\u011flant\u0131lar, istekler vb.) sa\u011flar. Nginx yap\u0131land\u0131rman\u0131zda etkinle\u015ftirmeniz gerekebilir:<\/p>\n<pre><code class=\"language-nginx\">location \/nginx_status {\n            stub_status on;\n            access_log off;\n            allow 127.0.0.1; # Sadece localhost'tan eri\u015fime izin ver.\n            deny all;\n        }<\/code><\/pre>\n<p>    *   <strong>PHP-FPM Status Page<\/strong>: PHP-FPM&#8217;in havuz istatistiklerini (aktif s\u00fcre\u00e7ler, bo\u015fta s\u00fcre\u00e7ler, kuyruk boyutu) g\u00f6sterir. <code>www.conf<\/code> dosyas\u0131nda etkinle\u015ftirilir: <code>pm.status_path = \/status<\/code>. Nginx&#8217;te de buna eri\u015fim izni vermeniz gerekir.<br \/>\n*   <strong>G\u00fcnl\u00fck (Log) Analizi:<\/strong><br \/>\n    *   Nginx eri\u015fim ve hata g\u00fcnl\u00fckleri (<code>\/var\/log\/nginx\/<\/code>).<br \/>\n    *   PHP-FPM yava\u015f g\u00fcnl\u00fckleri (<code>slowlog<\/code> ayar\u0131 ile belirlenen dosya). Yava\u015f \u00e7al\u0131\u015fan betikleri tespit etmek i\u00e7in \u00e7ok de\u011ferlidir.<br \/>\n    *   Veritaban\u0131 yava\u015f sorgu g\u00fcnl\u00fckleri.<\/p>\n<h4>SSL\/TLS Optimizasyonu<\/h4>\n<p>HTTPS kullan\u0131m\u0131 g\u00fcn\u00fcm\u00fczde bir standartt\u0131r. SSL\/TLS yap\u0131land\u0131rmas\u0131n\u0131 optimize etmek hem g\u00fcvenlik hem de performans a\u00e7\u0131s\u0131ndan \u00f6nemlidir.<\/p>\n<p>*   <strong><code>ssl_protocols<\/code> ve <code>ssl_ciphers<\/code>:<\/strong> Yaln\u0131zca g\u00fcvenli ve modern protokolleri (TLSv1.2, TLSv1.3) ve g\u00fc\u00e7l\u00fc \u015fifreleme paketlerini kullan\u0131n. Ubuntu 13.04&#8217;teki Nginx s\u00fcr\u00fcm\u00fc eski olabilece\u011fi i\u00e7in TLSv1.3 deste\u011fi olmayabilir, bu durumda TLSv1.2&#8217;ye odaklan\u0131n.<\/p>\n<pre><code class=\"language-nginx\">ssl_protocols TLSv1.2; # TLSv1.3 i\u00e7in Nginx 1.13.0+ gerekir.\n    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';\n    ssl_prefer_server_ciphers on;<\/code><\/pre>\n<p>*   <strong><code>ssl_session_cache<\/code> ve <code>ssl_session_timeout<\/code>:<\/strong> SSL oturum \u00f6nbelleklemesi, tekrar eden ba\u011flant\u0131larda el s\u0131k\u0131\u015fma (handshake) s\u00fcresini k\u0131salt\u0131r.<\/p>\n<pre><code class=\"language-nginx\">ssl_session_cache shared:SSL:10m;\n    ssl_session_timeout 10m;<\/code><\/pre>\n<p>*   <strong><code>ssl_stapling on;<\/code>:<\/strong> OCSP Stapling, taray\u0131c\u0131lar\u0131n sertifika iptal durumunu do\u011frudan sunucudan almas\u0131n\u0131 sa\u011flayarak ek bir sorgu yapmas\u0131n\u0131 \u00f6nler ve SSL el s\u0131k\u0131\u015fmas\u0131n\u0131 h\u0131zland\u0131r\u0131r.<br \/>\n*   <strong>HSTS (HTTP Strict Transport Security):<\/strong> Taray\u0131c\u0131lara sitenize her zaman HTTPS \u00fczerinden ba\u011flanmalar\u0131 gerekti\u011fini bildiren bir ba\u015fl\u0131k ekleyin.<\/p>\n<pre><code class=\"language-nginx\">add_header Strict-Transport-Security \"max-age=31536000; includeSubDomains\" always;<\/code><\/pre>\n<h3>Sonu\u00e7<\/h3>\n<p>Ubuntu 13.04 VPS \u00fczerinde Nginx ve PHP-FPM havuzlar\u0131n\u0131 optimize etmek, web uygulaman\u0131z\u0131n performans\u0131n\u0131 ve kararl\u0131l\u0131\u011f\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir. Bu makalede ele al\u0131nan Nginx ve PHP-FPM yap\u0131land\u0131rma ayarlar\u0131, <code>php.ini<\/code> optimizasyonlar\u0131, \u00f6nbellekleme stratejileri, veritaban\u0131 ipu\u00e7lar\u0131 ve izleme y\u00f6ntemleri, sunucunuzun daha fazla iste\u011fi daha verimli bir \u015fekilde i\u015flemesini sa\u011flayacak temel prensipleri sunmaktad\u0131r.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, her uygulaman\u0131n ve sunucu ortam\u0131n\u0131n kendine \u00f6zg\u00fc ihtiya\u00e7lar\u0131 vard\u0131r. Bu nedenle, burada belirtilen de\u011ferler bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r ve uygulaman\u0131z\u0131n ger\u00e7ek y\u00fck\u00fc, bellek t\u00fcketimi ve kullan\u0131c\u0131 trafi\u011fi g\u00f6z \u00f6n\u00fcnde bulundurularak ince ayarlar yap\u0131lmal\u0131d\u0131r. S\u00fcrekli izleme ve test etme, optimal performans\u0131 s\u00fcrd\u00fcrmek i\u00e7in kritik \u00f6neme sahiptir. Eski bir i\u015fletim sistemi olan Ubuntu 13.04 \u00fczerinde \u00e7al\u0131\u015f\u0131yor olsan\u0131z bile, bu optimizasyon prensiplerini uygulamak, mevcut kaynaklar\u0131n\u0131zdan en iyi \u015fekilde yararlanman\u0131za yard\u0131mc\u0131 olacakt\u0131r. G\u00fcvenlik g\u00fcncellemelerinin eksikli\u011fi nedeniyle eski sistemlerin \u00fcretim ortam\u0131nda kullan\u0131lmamas\u0131 gerekti\u011fini de hat\u0131rlatmakta fayda var; ancak bu makaledeki prensipler, performans optimizasyonunun temelini olu\u015fturur.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu\nBir web uygulamas\u0131n\u0131n performans\u0131, kullan\u0131c\u0131 deneyimi ve i\u015f","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-33333","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu\" \/>\n<meta property=\"og:description\" content=\"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu Bir web uygulamas\u0131n\u0131n performans\u0131, kullan\u0131c\u0131 deneyimi ve i\u015f\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-01T14:41:34+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu\",\"datePublished\":\"2025-11-01T14:41:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/\"},\"wordCount\":1721,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/\",\"name\":\"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-01T14:41:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/","og_locale":"tr_TR","og_type":"article","og_title":"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu","og_description":"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu Bir web uygulamas\u0131n\u0131n performans\u0131, kullan\u0131c\u0131 deneyimi ve i\u015f","og_url":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-01T14:41:34+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu","datePublished":"2025-11-01T14:41:34+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/"},"wordCount":1721,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/","url":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/","name":"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-01T14:41:34+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-php-fpm-havuzlari-ile-ubuntu-13-04-vps-uzerinde-performans-optimizasyonu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Nginx ve PHP-FPM Havuzlar\u0131 ile Ubuntu 13.04 VPS \u00dczerinde Performans Optimizasyonu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=33333"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33333\/revisions"}],"predecessor-version":[{"id":33334,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33333\/revisions\/33334"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33333"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}