{"id":39888,"date":"2026-02-24T13:40:58","date_gmt":"2026-02-24T10:40:58","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=39888"},"modified":"2026-02-24T13:40:58","modified_gmt":"2026-02-24T10:40:58","slug":"debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/","title":{"rendered":"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi<\/h2>\n<p>Nginx (engine-x olarak telaffuz edilir), Rus geli\u015ftirici Igor Sysoev taraf\u0131ndan olu\u015fturulan ve d\u00fcnya genelinde en pop\u00fcler web sunucular\u0131ndan biri haline gelen, a\u00e7\u0131k kaynakl\u0131, y\u00fcksek performansl\u0131 bir HTTP ve ters proxy sunucusu, bir proxy e-posta sunucusu (IMAP\/POP3) ve genel bir TCP\/UDP proxy&#8217;sidir. \u00d6zellikle y\u00fcksek trafikli web siteleri i\u00e7in tasarlanm\u0131\u015f olup, d\u00fc\u015f\u00fck bellek kullan\u0131m\u0131 ve y\u00fcksek e\u015fzamanl\u0131 ba\u011flant\u0131 kapasitesi ile bilinir. Nginx, statik i\u00e7erik sunma, y\u00fck dengeleme, SSL sonland\u0131rma ve \u00f6nbellekleme gibi bir\u00e7ok geli\u015fmi\u015f \u00f6zelli\u011fi sayesinde modern web mimarilerinin vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r.<\/p>\n<p>Bu rehber, Debian 8 (Jessie) i\u015fletim sistemi y\u00fckl\u00fc bir sunucuya Nginx&#8217;in nas\u0131l kurulaca\u011f\u0131n\u0131 ve temel yap\u0131land\u0131rmas\u0131n\u0131n nas\u0131l yap\u0131laca\u011f\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r. Debian 8, kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenilirli\u011fi ile bilinen bir Linux da\u011f\u0131t\u0131m\u0131 olmas\u0131na ra\u011fmen, art\u0131k &#8220;eski kararl\u0131&#8221; bir s\u00fcr\u00fcm olarak kabul edilmektedir ve g\u00fcncel s\u00fcr\u00fcmlere g\u00f6re baz\u0131 paketlerde farkl\u0131l\u0131klar g\u00f6sterebilir. Ancak Nginx&#8217;in temel kurulumu ve yap\u0131land\u0131rmas\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde benzer kal\u0131r. Bu rehber, \u00f6zellikle Debian 8 ortam\u0131nda \u00e7al\u0131\u015fan sistem y\u00f6neticileri ve geli\u015ftiriciler i\u00e7in detayl\u0131 bir yol haritas\u0131 sunmay\u0131 ama\u00e7lamaktad\u0131r.<\/p>\n<h3>Nginx Neden Tercih Edilmeli?<\/h3>\n<p>Nginx&#8217;in bu kadar pop\u00fcler olmas\u0131n\u0131n ba\u015fl\u0131ca nedenleri \u015funlard\u0131r:<\/p>\n<p>*   <strong>Y\u00fcksek Performans:<\/strong> \u00d6zellikle e\u015fzamanl\u0131 ba\u011flant\u0131lar\u0131 i\u015fleme konusunda Apache gibi di\u011fer web sunucular\u0131na g\u00f6re daha \u00fcst\u00fcn performans sergiler. Olay tabanl\u0131, asenkron mimarisi sayesinde her ba\u011flant\u0131 i\u00e7in ayr\u0131 bir i\u015flem veya i\u015f par\u00e7ac\u0131\u011f\u0131 olu\u015fturmak yerine, tek bir i\u015flemle binlerce ba\u011flant\u0131y\u0131 y\u00f6netebilir.<br \/>\n*   <strong>D\u00fc\u015f\u00fck Kaynak T\u00fcketimi:<\/strong> Apache&#8217;ye k\u0131yasla daha az bellek ve CPU kayna\u011f\u0131 kullan\u0131r, bu da daha d\u00fc\u015f\u00fck maliyetli sunucularda bile y\u00fcksek verimlilik anlam\u0131na gelir.<br \/>\n*   <strong>\u00d6l\u00e7eklenebilirlik:<\/strong> Y\u00fck dengeleme ve ters proxy yetenekleri sayesinde, web uygulamalar\u0131n\u0131n yatay olarak \u00f6l\u00e7eklenmesini kolayla\u015ft\u0131r\u0131r. Trafik artt\u0131\u011f\u0131nda, Nginx gelen istekleri birden fazla arka u\u00e7 sunucuya da\u011f\u0131tabilir.<br \/>\n*   <strong>Zengin \u00d6zellik Seti:<\/strong> Statik dosya sunumu, \u00f6nbellekleme, SSL\/TLS sonland\u0131rma, HTTP\/2 deste\u011fi, WebSocket proxy&#8217;si ve daha fazlas\u0131n\u0131 sunar.<br \/>\n*   <strong>G\u00fcvenilirlik:<\/strong> Uzun y\u0131llard\u0131r b\u00fcy\u00fck \u00f6l\u00e7ekli uygulamalarda kullan\u0131lm\u0131\u015f ve kendini kan\u0131tlam\u0131\u015f, kararl\u0131 bir yaz\u0131l\u0131md\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Nginx kurulumuna ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olun:<\/p>\n<p>*   <strong>Debian 8 (Jessie) Y\u00fckl\u00fc Bir Sunucu:<\/strong> Fiziksel bir sunucu, sanal makine (VM) veya bulut tabanl\u0131 bir VPS (Virtual Private Server) olabilir. Bu rehberdeki komutlar Debian 8 \u00fczerinde test edilmi\u015ftir.<br \/>\n*   <strong>Root veya Sudo Yetkilerine Sahip Bir Kullan\u0131c\u0131:<\/strong> Kurulum ve yap\u0131land\u0131rma i\u015flemleri i\u00e7in sistem genelinde de\u011fi\u015fiklik yapma yetkisine sahip olman\u0131z gerekmektedir. G\u00fcvenlik a\u00e7\u0131s\u0131ndan <code>root<\/code> kullan\u0131c\u0131s\u0131 yerine <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 ile \u00e7al\u0131\u015fman\u0131z \u00f6nerilir.<br \/>\n*   <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> Paket depolar\u0131ndan Nginx ve di\u011fer gerekli paketleri indirmek i\u00e7in aktif bir internet ba\u011flant\u0131s\u0131 \u015fartt\u0131r.<br \/>\n*   <strong>Temel Linux Komut Bilgisi:<\/strong> <code>apt<\/code>, <code>systemctl<\/code>, <code>nano<\/code> gibi temel Linux komutlar\u0131na a\u015fina olman\u0131z s\u00fcreci kolayla\u015ft\u0131racakt\u0131r.<br \/>\n*   <strong>Alan Ad\u0131 (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir):<\/strong> E\u011fer bir web sitesi bar\u0131nd\u0131racaksan\u0131z, bir alan ad\u0131na sahip olman\u0131z ve DNS kay\u0131tlar\u0131n\u0131 sunucunuzun IP adresine y\u00f6nlendirmi\u015f olman\u0131z gerekmektedir. Bu, \u00f6zellikle SSL\/TLS sertifikas\u0131 al\u0131rken kritik \u00f6neme sahiptir.<\/p>\n<h3>Ad\u0131m 1: Sistemi G\u00fcncelleme<\/h3>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce sistemin paket listesini g\u00fcncellemek ve mevcut paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltmek iyi bir uygulamad\u0131r. Bu, potansiyel ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nler ve g\u00fcvenlik g\u00fcncellemelerini alman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Sunucunuza SSH ile ba\u011flan\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y\nsudo apt dist-upgrade -y\nsudo apt autoremove -y<\/code><\/pre>\n<p>*   <code>sudo apt update<\/code>: Paket listelerini, depolardaki en yeni yaz\u0131l\u0131m s\u00fcr\u00fcmleri hakk\u0131nda bilgi edinmek i\u00e7in g\u00fcnceller.<br \/>\n*   <code>sudo apt upgrade -y<\/code>: Mevcut t\u00fcm paketleri, etkile\u015fimli soru sormadan (<code>-y<\/code> bayra\u011f\u0131 ile) y\u00fckseltir.<br \/>\n*   <code>sudo apt dist-upgrade -y<\/code>: Daha karma\u015f\u0131k ba\u011f\u0131ml\u0131l\u0131k de\u011fi\u015fikliklerini ve \u00e7ekirdek y\u00fckseltmelerini i\u00e7eren y\u00fckseltmeleri i\u015fler. Bu, \u00f6zellikle b\u00fcy\u00fck s\u00fcr\u00fcm y\u00fckseltmelerinde faydal\u0131d\u0131r ancak Debian 8 i\u00e7in genellikle <code>upgrade<\/code> yeterlidir.<br \/>\n*   <code>sudo apt autoremove -y<\/code>: Art\u0131k ihtiya\u00e7 duyulmayan ba\u011f\u0131ml\u0131l\u0131k paketlerini temizler.<\/p>\n<p>Bu i\u015flemler biraz zaman alabilir. \u0130\u015flem tamamland\u0131\u011f\u0131nda, sunucunuzun en g\u00fcncel paketlere sahip oldu\u011fundan emin olabilirsiniz.<\/p>\n<h3>Ad\u0131m 2: Nginx Paketini Kurma<\/h3>\n<p>Debian depolar\u0131, Nginx&#8217;in kararl\u0131 bir s\u00fcr\u00fcm\u00fcn\u00fc i\u00e7erir. Bu, Nginx&#8217;i kurman\u0131n en basit ve en g\u00fcvenilir yoludur.<\/p>\n<p>Nginx&#8217;i kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt install nginx -y<\/code><\/pre>\n<p>Bu komut, Nginx paketini ve gerekli t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 sisteminize kuracakt\u0131r. Kurulum tamamland\u0131ktan sonra, Nginx servisi otomatik olarak ba\u015flat\u0131lmal\u0131d\u0131r.<\/p>\n<p>Kurulumun ba\u015far\u0131l\u0131 oldu\u011funu do\u011frulamak i\u00e7in Nginx&#8217;in s\u00fcr\u00fcm\u00fcn\u00fc kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">nginx -v<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131, y\u00fckl\u00fc Nginx s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6sterecektir, \u00f6rne\u011fin <code>nginx version: nginx\/1.6.2<\/code>. (Debian 8 depolar\u0131ndaki s\u00fcr\u00fcm bu civarda olacakt\u0131r.)<\/p>\n<p>Ayr\u0131ca, Nginx paketinin ger\u00e7ekten y\u00fckl\u00fc olup olmad\u0131\u011f\u0131n\u0131 <code>dpkg<\/code> komutuyla da do\u011frulayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">dpkg -l | grep nginx<\/code><\/pre>\n<p>Bu komut, Nginx ile ilgili y\u00fckl\u00fc paketleri listeler. E\u011fer Nginx y\u00fckl\u00fcyse, \u00e7\u0131kt\u0131da <code>ii nginx<\/code> veya <code>ii nginx-full<\/code> gibi sat\u0131rlar g\u00f6rmelisiniz.<\/p>\n<h3>Ad\u0131m 3: Nginx Servisini Y\u00f6netme<\/h3>\n<p>Nginx bir sistem servisi olarak \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, <code>systemctl<\/code> komutu ile kolayca y\u00f6netilebilir. \u0130\u015fte Nginx servisini y\u00f6netmek i\u00e7in kullanabilece\u011finiz temel komutlar:<\/p>\n<p>*   <strong>Nginx servisini ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl start nginx<\/code><\/pre>\n<p>*   <strong>Nginx servisini durdurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop nginx<\/code><\/pre>\n<p>*   <strong>Nginx servisini yeniden ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart nginx<\/code><\/pre>\n<p>    Bu komut, Nginx&#8217;i tamamen durdurup yeniden ba\u015flat\u0131r.<br \/>\n*   <strong>Nginx yap\u0131land\u0131rmas\u0131n\u0131 yeniden y\u00fckleme (reload):<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload nginx<\/code><\/pre>\n<p>    Bu komut, Nginx&#8217;i durdurmadan yap\u0131land\u0131rma dosyalar\u0131nda yap\u0131lan de\u011fi\u015fiklikleri uygular. Yeni ba\u011flant\u0131lar i\u00e7in yeni yap\u0131land\u0131rma kullan\u0131l\u0131rken, mevcut ba\u011flant\u0131lar kesintiye u\u011framaz. Bu, genellikle bir web sitesi kesintisi olmadan yap\u0131land\u0131rma de\u011fi\u015fikliklerini uygulamak i\u00e7in tercih edilen y\u00f6ntemdir.<br \/>\n*   <strong>Nginx servisinin durumunu kontrol etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl status nginx<\/code><\/pre>\n<p>    Bu komut, Nginx servisinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131, son hata mesajlar\u0131n\u0131 ve di\u011fer durum bilgilerini g\u00f6sterir. \u00c7\u0131kt\u0131da <code>Active: active (running)<\/code> ifadesini g\u00f6rmelisiniz.<br \/>\n*   <strong>Sistem ba\u015flang\u0131c\u0131nda Nginx&#8217;i otomatik ba\u015flatmay\u0131 etkinle\u015ftirme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl enable nginx<\/code><\/pre>\n<p>    Bu, sunucu her yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda Nginx&#8217;in otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flar. Nginx kurulumu s\u0131ras\u0131nda bu genellikle otomatik olarak yap\u0131l\u0131r, ancak kontrol etmek veya manuel olarak etkinle\u015ftirmek isteyebilirsiniz.<br \/>\n*   <strong>Sistem ba\u015flang\u0131c\u0131nda Nginx&#8217;i otomatik ba\u015flatmay\u0131 devre d\u0131\u015f\u0131 b\u0131rakma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl disable nginx<\/code><\/pre>\n<h3>Ad\u0131m 4: G\u00fcvenlik Duvar\u0131n\u0131 Yap\u0131land\u0131rma<\/h3>\n<p>Nginx kurulduktan sonra, d\u0131\u015far\u0131dan gelen web trafi\u011fine izin vermek i\u00e7in g\u00fcvenlik duvar\u0131n\u0131z\u0131 yap\u0131land\u0131rman\u0131z gerekebilir. Debian&#8217;da yayg\u0131n olarak kullan\u0131lan g\u00fcvenlik duvar\u0131 arac\u0131 <code>ufw<\/code> (Uncomplicated Firewall) veya <code>iptables<\/code>&#8216;t\u0131r. Bu rehberde <code>ufw<\/code> kullan\u0131m\u0131na odaklanaca\u011f\u0131z, \u00e7\u00fcnk\u00fc daha kullan\u0131c\u0131 dostudur.<\/p>\n<p>E\u011fer <code>ufw<\/code> sisteminizde y\u00fckl\u00fc de\u011filse, \u00f6ncelikle kurman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo apt install ufw -y<\/code><\/pre>\n<p><code>ufw<\/code> y\u00fcklendikten sonra, Nginx genellikle kendi profilini <code>ufw<\/code>&#8216;ye ekler. Bu profilleri kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw app list<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131nda <code>Nginx HTTP<\/code>, <code>Nginx HTTPS<\/code> ve <code>Nginx Full<\/code> gibi profiller g\u00f6rmelisiniz:<\/p>\n<p>*   <strong>Nginx HTTP:<\/strong> Yaln\u0131zca 80 numaral\u0131 port (HTTP) trafi\u011fine izin verir.<br \/>\n*   <strong>Nginx HTTPS:<\/strong> Yaln\u0131zca 443 numaral\u0131 port (HTTPS) trafi\u011fine izin verir.<br \/>\n*   <strong>Nginx Full:<\/strong> Hem 80 (HTTP) hem de 443 (HTTPS) numaral\u0131 port trafi\u011fine izin verir.<\/p>\n<p>Web sitenizi bar\u0131nd\u0131r\u0131rken HTTP ve\/veya HTTPS trafi\u011fine izin vermeniz gerekecektir. Ba\u015flang\u0131\u00e7ta sadece HTTP&#8217;ye izin verebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Nginx HTTP'<\/code><\/pre>\n<p>E\u011fer ileride SSL\/TLS sertifikas\u0131 kurup HTTPS kullanacaksan\u0131z, <code>Nginx Full<\/code> profilini kullanabilir veya <code>Nginx HTTPS<\/code>&#8216;i ayr\u0131ca etkinle\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Nginx Full'<\/code><\/pre>\n<p><strong>\u00d6nemli:<\/strong> Sunucuya SSH ile eri\u015fiminizi kaybetmemek i\u00e7in SSH portuna (varsay\u0131lan olarak 22) izin vermeyi unutmay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow OpenSSH<\/code><\/pre>\n<p>\u015eimdi g\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftirebilirsiniz. Bu i\u015flem, SSH ba\u011flant\u0131n\u0131z\u0131 kesebilece\u011fi i\u00e7in dikkatli olun. Emin de\u011filseniz, \u00f6nce bir sanal makinede veya test ortam\u0131nda deneyin.<\/p>\n<pre><code class=\"language-bash\">sudo ufw enable<\/code><\/pre>\n<p>Bir uyar\u0131 mesaj\u0131 alacaks\u0131n\u0131z. <code>y<\/code> yaz\u0131p Enter tu\u015funa basarak devam edin.<\/p>\n<p>G\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131z\u0131 ve durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da, Nginx HTTP (veya Full) ve OpenSSH kurallar\u0131n\u0131n <code>ALLOW<\/code> olarak listelendi\u011fini g\u00f6rmelisiniz.<\/p>\n<h3>Ad\u0131m 5: Nginx Kurulumunu Do\u011frulama<\/h3>\n<p>Nginx kurulduktan ve g\u00fcvenlik duvar\u0131 yap\u0131land\u0131r\u0131ld\u0131ktan sonra, kurulumun ba\u015far\u0131l\u0131 oldu\u011funu ve Nginx&#8217;in web isteklerine yan\u0131t verdi\u011fini do\u011frulamal\u0131s\u0131n\u0131z.<\/p>\n<p>Bir web taray\u0131c\u0131s\u0131 a\u00e7\u0131n ve sunucunuzun IP adresini veya alan ad\u0131n\u0131 (e\u011fer DNS yap\u0131land\u0131rmas\u0131n\u0131 yapt\u0131ysan\u0131z) girin:<\/p>\n<pre><code class=\"language-\">http:\/\/SUNUCU_IP_ADRESINIZ<\/code><\/pre>\n<p>veya<\/p>\n<pre><code class=\"language-\">http:\/\/alanadiniz.com<\/code><\/pre>\n<p>E\u011fer her \u015fey do\u011fru yap\u0131land\u0131r\u0131ld\u0131ysa, Nginx&#8217;in varsay\u0131lan &#8220;Welcome to Nginx!&#8221; sayfas\u0131n\u0131 g\u00f6rmelisiniz. Bu sayfa, Nginx&#8217;in ba\u015far\u0131yla kuruldu\u011funu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<h3>Ad\u0131m 6: Nginx Yap\u0131land\u0131rma Dosyalar\u0131<\/h3>\n<p>Nginx&#8217;in g\u00fcc\u00fc, esnek ve mod\u00fcler yap\u0131land\u0131rma sisteminden gelir. Ana yap\u0131land\u0131rma dosyalar\u0131 ve dizinleri \u015funlard\u0131r:<\/p>\n<p>*   <strong><code>\/etc\/nginx\/nginx.conf<\/code><\/strong>: Nginx&#8217;in ana yap\u0131land\u0131rma dosyas\u0131d\u0131r. Genel ayarlar\u0131, worker s\u00fcre\u00e7lerinin say\u0131s\u0131n\u0131, log ayarlar\u0131n\u0131 ve di\u011fer global direktifleri i\u00e7erir. Bu dosya genellikle di\u011fer yap\u0131land\u0131rma dosyalar\u0131n\u0131 <code>include<\/code> direktifleriyle \u00e7a\u011f\u0131r\u0131r.<br \/>\n*   <strong><code>\/etc\/nginx\/sites-available\/<\/code><\/strong>: Bu dizin, her biri ayr\u0131 bir web sitesi veya uygulaman\u0131n yap\u0131land\u0131rmas\u0131n\u0131 i\u00e7eren &#8220;server block&#8221; dosyalar\u0131n\u0131 bar\u0131nd\u0131r\u0131r. Bu dosyalar, Nginx taraf\u0131ndan varsay\u0131lan olarak okunmaz.<br \/>\n*   <strong><code>\/etc\/nginx\/sites-enabled\/<\/code><\/strong>: Bu dizin, <code>sites-available<\/code> dizinindeki yap\u0131land\u0131rma dosyalar\u0131na sembolik ba\u011flant\u0131lar (symlink) i\u00e7erir. Nginx, yaln\u0131zca bu dizindeki dosyalar\u0131 okur ve i\u015fler. Bir siteyi etkinle\u015ftirmek i\u00e7in <code>sites-available<\/code> dizininden buraya bir sembolik ba\u011flant\u0131 olu\u015fturulur; devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in ise bu ba\u011flant\u0131 kald\u0131r\u0131l\u0131r.<br \/>\n*   <strong><code>\/etc\/nginx\/conf.d\/<\/code><\/strong>: Bu dizin, k\u00fc\u00e7\u00fck ve ba\u011f\u0131ms\u0131z yap\u0131land\u0131rma par\u00e7ac\u0131klar\u0131n\u0131 tutmak i\u00e7in kullan\u0131l\u0131r. <code>nginx.conf<\/code> dosyas\u0131 genellikle bu dizindeki <code>.conf<\/code> uzant\u0131l\u0131 t\u00fcm dosyalar\u0131 i\u00e7erir.<br \/>\n*   <strong><code>\/var\/www\/html\/<\/code><\/strong>: Nginx&#8217;in varsay\u0131lan olarak statik web dosyalar\u0131n\u0131 sundu\u011fu k\u00f6k dizindir. &#8220;Welcome to Nginx!&#8221; sayfas\u0131 bu dizinde bulunur.<br \/>\n*   <strong><code>\/var\/log\/nginx\/access.log<\/code><\/strong>: Nginx&#8217;in gelen t\u00fcm web isteklerini kaydetti\u011fi eri\u015fim g\u00fcnl\u00fc\u011f\u00fc dosyas\u0131d\u0131r.<br \/>\n*   <strong><code>\/var\/log\/nginx\/error.log<\/code><\/strong>: Nginx&#8217;in kar\u015f\u0131la\u015ft\u0131\u011f\u0131 t\u00fcm hata mesajlar\u0131n\u0131 kaydetti\u011fi hata g\u00fcnl\u00fc\u011f\u00fc dosyas\u0131d\u0131r.<\/p>\n<p>Varsay\u0131lan Nginx yap\u0131land\u0131rma dosyas\u0131 (<code>\/etc\/nginx\/sites-available\/default<\/code>) a\u015fa\u011f\u0131daki gibi bir i\u00e7eri\u011fe sahip olabilir:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80 default_server;\n    listen [::]:80 default_server;\n\n    root \/var\/www\/html;\n    index index.html index.htm index.nginx-debian.html;\n\n    server_name _;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n}<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, 80 numaral\u0131 porttan gelen t\u00fcm istekleri dinler, <code>\/var\/www\/html<\/code> dizinini k\u00f6k dizin olarak kullan\u0131r ve belirtilen index dosyalar\u0131n\u0131 arar. <code>server_name _<\/code> ifadesi, bu blo\u011fun herhangi bir alan ad\u0131 i\u00e7in varsay\u0131lan blok olarak davranaca\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<h3>Ad\u0131m 7: Yeni Bir Sanal Host (Server Block) Olu\u015fturma<\/h3>\n<p>Birden fazla web sitesini ayn\u0131 Nginx sunucusunda bar\u0131nd\u0131rmak i\u00e7in &#8220;server block&#8221; ad\u0131 verilen sanal host yap\u0131land\u0131rmalar\u0131n\u0131 kullan\u0131r\u0131z. \u015eimdi <code>ornek.com<\/code> ad\u0131nda yeni bir site i\u00e7in bir server block olu\u015ftural\u0131m.<\/p>\n<p><strong>1. Web Sitesi K\u00f6k Dizini Olu\u015fturma:<\/strong><br \/>\n\u00d6ncelikle, web sitenizin dosyalar\u0131n\u0131 bar\u0131nd\u0131racak bir dizin olu\u015fturun. Her site i\u00e7in ayr\u0131 bir dizin olu\u015fturmak iyi bir uygulamad\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/ornek.com\/html<\/code><\/pre>\n<p><strong>2. Test HTML Dosyas\u0131 Olu\u015fturma:<\/strong><br \/>\nYeni dizine basit bir <code>index.html<\/code> dosyas\u0131 ekleyerek sitenin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test edebiliriz.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/ornek.com\/html\/index.html<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-html\"><!DOCTYPE html>\n<html>\n<head>\n    <title>ornek.com - Nginx Test Sayfas\u0131<\/title>\n    <style>\n        body {\n            font-family: sans-serif;\n            margin: 40px;\n            background-color: #f0f0f0;\n            color: #333;\n            text-align: center;\n        }\n        h1 {\n            color: #0056b3;\n        }\n        p {\n            font-size: 1.2em;\n        }\n    <\/style>\n<\/head>\n<body>\n    \n    <p>Bu, ornek.com i\u00e7in \u00f6zel bir Nginx server block'undan sunulan test sayfas\u0131d\u0131r.<\/p>\n<\/body>\n<\/html><\/code><\/pre>\n<p>Kaydedip kapat\u0131n (Ctrl+O, Enter, Ctrl+X).<\/p>\n<p><strong>3. Yeni Server Block Yap\u0131land\u0131rma Dosyas\u0131 Olu\u015fturma:<\/strong><br \/>\n\u015eimdi <code>ornek.com<\/code> i\u00e7in bir Nginx yap\u0131land\u0131rma dosyas\u0131 olu\u015ftural\u0131m.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/ornek.com<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    listen [::]:80;\n\n    root \/var\/www\/ornek.com\/html;\n    index index.html index.htm index.nginx-debian.html;\n\n    server_name ornek.com www.ornek.com;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n\n    # Hata sayfalar\u0131 (iste\u011fe ba\u011fl\u0131)\n    # error_page 404 \/404.html;\n    # location = \/404.html {\n    #     internal;\n    # }\n\n    # PHP FPM ile entegrasyon i\u00e7in \u00f6rnek (bu rehberde PHP FPM kurulmuyor)\n    # location ~ \\.php$ {\n    #     include snippets\/fastcgi-php.conf;\n    #     fastcgi_pass unix:\/var\/run\/php\/php7.0-fpm.sock; # Debian 8 i\u00e7in \u00f6rnek yol\n    # }\n\n    # G\u00fcvenlik i\u00e7in baz\u0131 ba\u015fl\u0131klar\n    add_header X-Frame-Options \"SAMEORIGIN\";\n    add_header X-Content-Type-Options \"nosniff\";\n    add_header X-XSS-Protection \"1; mode=block\";\n}<\/code><\/pre>\n<p>*   <code>listen 80;<\/code>: Bu server block&#8217;un 80 numaral\u0131 porttan gelen HTTP isteklerini dinlemesini sa\u011flar.<br \/>\n*   <code>root \/var\/www\/ornek.com\/html;<\/code>: Web sitesinin k\u00f6k dizinini belirtir. Nginx, bu dizin alt\u0131nda dosya arayacakt\u0131r.<br \/>\n*   <code>index index.html ...;<\/code>: Bir dizine eri\u015fildi\u011finde Nginx&#8217;in arayaca\u011f\u0131 varsay\u0131lan dosya adlar\u0131n\u0131 belirtir.<br \/>\n*   <code>server_name ornek.com www.ornek.com;<\/code>: Bu server block&#8217;un hangi alan adlar\u0131 i\u00e7in ge\u00e7erli oldu\u011funu tan\u0131mlar. Gelen iste\u011fin <code>Host<\/code> ba\u015fl\u0131\u011f\u0131 bu isimlerden biriyle e\u015fle\u015firse, bu blok kullan\u0131l\u0131r.<br \/>\n*   <code>location \/ { ... }<\/code>: K\u00f6k URL (<code>\/<\/code>) i\u00e7in isteklerin nas\u0131l i\u015flenece\u011fini tan\u0131mlar. <code>try_files<\/code> direktifi, \u00f6nce istenen dosyan\u0131n (<code>$uri<\/code>), sonra dizinin (<code>$uri\/<\/code>) var olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. Hi\u00e7biri bulunamazsa, 404 hatas\u0131 d\u00f6nd\u00fcr\u00fcr.<\/p>\n<p>Kaydedip kapat\u0131n.<\/p>\n<p><strong>4. Server Block&#8217;u Etkinle\u015ftirme:<\/strong><br \/>\nYeni server block dosyam\u0131z\u0131 <code>sites-enabled<\/code> dizinine sembolik bir ba\u011flant\u0131 olu\u015fturarak etkinle\u015ftirebiliriz.<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/ornek.com \/etc\/nginx\/sites-enabled\/<\/code><\/pre>\n<p><strong>5. Varsay\u0131lan Server Block&#8217;u Devre D\u0131\u015f\u0131 B\u0131rakma (\u0130ste\u011fe Ba\u011fl\u0131):<\/strong><br \/>\nE\u011fer yeni siteniz varsay\u0131lan site olacaksa ve <code>ornek.com<\/code> d\u0131\u015f\u0131ndaki isteklerin varsay\u0131lan &#8220;Welcome to Nginx!&#8221; sayfas\u0131n\u0131 g\u00f6stermesini istemiyorsan\u0131z, varsay\u0131lan server block&#8217;u devre d\u0131\u015f\u0131 b\u0131rakabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo rm \/etc\/nginx\/sites-enabled\/default<\/code><\/pre>\n<p><strong>6. Yap\u0131land\u0131rma S\u00f6zdizimi Kontrol\u00fc:<\/strong><br \/>\nNginx&#8217;i yeniden y\u00fcklemeden \u00f6nce, yeni yap\u0131land\u0131rma dosyas\u0131nda herhangi bir s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek \u00e7ok \u00f6nemlidir.<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t<\/code><\/pre>\n<p>E\u011fer her \u015fey yolundaysa, a\u015fa\u011f\u0131daki gibi bir \u00e7\u0131kt\u0131 g\u00f6rmelisiniz:<\/p>\n<pre><code class=\"language-\">nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok\nnginx: configuration file \/etc\/nginx\/nginx.conf test is successful<\/code><\/pre>\n<p>Herhangi bir hata varsa, nano ile yap\u0131land\u0131rma dosyan\u0131z\u0131 a\u00e7\u0131p hatay\u0131 d\u00fczeltmeniz gerekir.<\/p>\n<p><strong>7. Nginx&#8217;i Yeniden Y\u00fckleme:<\/strong><br \/>\nYap\u0131land\u0131rma de\u011fi\u015fikliklerinin etkili olmas\u0131 i\u00e7in Nginx&#8217;i yeniden y\u00fckleyin.<\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload nginx<\/code><\/pre>\n<p><strong>8. Yeni Siteyi Test Etme:<\/strong><br \/>\nE\u011fer ger\u00e7ek bir alan ad\u0131n\u0131z varsa ve DNS kay\u0131tlar\u0131n\u0131z sunucunuzun IP adresine i\u015faret ediyorsa, web taray\u0131c\u0131n\u0131zdan <code>http:\/\/ornek.com<\/code> adresine giderek yeni sitenizi kontrol edebilirsiniz.<\/p>\n<p><strong>Yerel Test (DNS yoksa):<\/strong><br \/>\nE\u011fer ger\u00e7ek bir alan ad\u0131n\u0131z yoksa veya DNS&#8217;in yay\u0131lmas\u0131n\u0131 beklemek istemiyorsan\u0131z, yerel bilgisayar\u0131n\u0131z\u0131n <code>hosts<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek test yapabilirsiniz. Bu, sadece sizin bilgisayar\u0131n\u0131zda ge\u00e7erli olacakt\u0131r.<\/p>\n<p>*   <strong>Linux\/macOS:<\/strong> <code>sudo nano \/etc\/hosts<\/code><br \/>\n*   <strong>Windows:<\/strong> Not Defteri&#8217;ni y\u00f6netici olarak \u00e7al\u0131\u015ft\u0131r\u0131n ve <code>C:\\Windows\\System32\\drivers\\etc\\hosts<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n.<\/p>\n<p>Dosyan\u0131n en alt\u0131na a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin (SUNUCU_IP_ADRESINIZ yerine kendi sunucunuzun IP adresini yaz\u0131n):<\/p>\n<pre><code class=\"language-\">SUNUCU_IP_ADRESINIZ ornek.com www.ornek.com<\/code><\/pre>\n<p>Kaydedip kapat\u0131n. \u015eimdi web taray\u0131c\u0131n\u0131zdan <code>http:\/\/ornek.com<\/code> adresine gitti\u011finizde, kendi sunucunuzdaki yeni Nginx sayfas\u0131n\u0131 g\u00f6rmelisiniz. Test bitti\u011finde <code>hosts<\/code> dosyas\u0131ndaki bu sat\u0131r\u0131 silmeyi unutmay\u0131n.<\/p>\n<h3>Ad\u0131m 8: SSL\/TLS ile Nginx G\u00fcvenli\u011fini Sa\u011flama (HTTPS)<\/h3>\n<p>G\u00fcn\u00fcm\u00fczde t\u00fcm web sitelerinin HTTPS kullanmas\u0131 zorunludur. HTTPS, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n verilerini \u015fifreleyerek g\u00fcvenli\u011fi art\u0131r\u0131r ve SEO s\u0131ralamalar\u0131n\u0131 da olumlu etkiler. Let&#8217;s Encrypt, \u00fccretsiz SSL\/TLS sertifikalar\u0131 sa\u011flayan pop\u00fcler bir sertifika yetkilisidir ve Certbot arac\u0131 ile kolayca entegre edilebilir.<\/p>\n<p>Debian 8 (Jessie) i\u00e7in Certbot kurulumu, do\u011frudan g\u00fcncel Debian s\u00fcr\u00fcmlerindeki kadar basit olmayabilir, \u00e7\u00fcnk\u00fc Debian 8&#8217;in varsay\u0131lan depolar\u0131 Certbot&#8217;un en yeni s\u00fcr\u00fcmlerini i\u00e7ermez. Bu durumda, Certbot&#8217;u Debian Jessie&#8217;nin <code>backports<\/code> deposundan kurmak en iyi y\u00f6ntemdir.<\/p>\n<p><strong>1. Jessie Backports Deposunu Ekleme:<\/strong><br \/>\n<code>backports<\/code> deposunu <code>sources.list.d<\/code> dizinine ekleyin:<\/p>\n<pre><code class=\"language-bash\">echo \"deb http:\/\/deb.debian.org\/debian jessie-backports main contrib non-free\" | sudo tee \/etc\/apt\/sources.list.d\/jessie-backports.list<\/code><\/pre>\n<p>Paket listesini g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p><strong>2. Certbot ve Nginx Eklentisini Kurma:<\/strong><br \/>\n<code>backports<\/code> deposundan Certbot ve Nginx eklentisini kurun. <code>-t jessie-backports<\/code> bayra\u011f\u0131, paketlerin \u00f6zellikle bu depodan al\u0131nmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo apt install certbot python-certbot-nginx -t jessie-backports -y<\/code><\/pre>\n<p><strong>3. SSL Sertifikas\u0131 Alma:<\/strong><br \/>\nCertbot&#8217;u Nginx ile entegre ederek sertifika almak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n. <code>ornek.com<\/code> ve <code>www.ornek.com<\/code> yerine kendi alan adlar\u0131n\u0131z\u0131 yaz\u0131n.<\/p>\n<pre><code class=\"language-bash\">sudo certbot --nginx -d ornek.com -d www.ornek.com<\/code><\/pre>\n<p>Certbot, etkile\u015fimli bir s\u00fcre\u00e7 ba\u015flatacakt\u0131r:<br \/>\n*   Bir e-posta adresi girmeniz istenecektir (bildirimler ve kay\u0131p anahtar kurtarma i\u00e7in).<br \/>\n*   Let&#8217;s Encrypt hizmet \u015fartlar\u0131n\u0131 kabul etmeniz istenecektir.<br \/>\n*   IP adresinizin kaydedilip kaydedilmeyece\u011fi sorulacakt\u0131r (iste\u011fe ba\u011fl\u0131).<br \/>\n*   Certbot, Nginx yap\u0131land\u0131rman\u0131z\u0131 otomatik olarak alg\u0131layacak ve sertifikay\u0131 kuracakt\u0131r.<br \/>\n*   Son olarak, HTTP trafi\u011fini HTTPS&#8217;ye y\u00f6nlendirmek isteyip istemedi\u011finiz sorulacakt\u0131r. Genellikle <code>2: Redirect<\/code> se\u00e7ene\u011fini se\u00e7mek iyi bir uygulamad\u0131r.<\/p>\n<p>\u0130\u015flem tamamland\u0131\u011f\u0131nda, Certbot size sertifikalar\u0131n ba\u015far\u0131yla y\u00fcklendi\u011fini ve web sitenizin art\u0131k HTTPS \u00fczerinden eri\u015filebilir oldu\u011funu bildirecektir. Ayr\u0131ca, Nginx yap\u0131land\u0131rma dosyan\u0131z\u0131n (<code>\/etc\/nginx\/sites-available\/ornek.com<\/code>) otomatik olarak g\u00fcncellendi\u011fini g\u00f6receksiniz. Nginx&#8217;in 443 numaral\u0131 portu dinlemesi, SSL sertifikas\u0131 yollar\u0131n\u0131n eklenmesi ve HTTP&#8217;den HTTPS&#8217;ye y\u00f6nlendirme kurallar\u0131 otomatik olarak eklenmi\u015f olacakt\u0131r.<\/p>\n<p><strong>4. G\u00fcvenlik Duvar\u0131n\u0131 G\u00fcncelleme:<\/strong><br \/>\nHTTPS trafi\u011fine izin vermek i\u00e7in g\u00fcvenlik duvar\u0131 kural\u0131n\u0131z\u0131 g\u00fcncellemeniz gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Nginx Full'<\/code><\/pre>\n<p>veya sadece 443 portuna izin vermek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Nginx HTTPS'<\/code><\/pre>\n<p><strong>5. Sertifika Otomatik Yenilemesini Test Etme:<\/strong><br \/>\nLet&#8217;s Encrypt sertifikalar\u0131 90 g\u00fcn ge\u00e7erlidir. Certbot, bu sertifikalar\u0131 otomatik olarak yenilemek i\u00e7in bir cron job veya systemd timer kurar. Yenileme i\u015fleminin d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in bir test \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo certbot renew --dry-run<\/code><\/pre>\n<p>E\u011fer bu komut herhangi bir hata vermeden tamamlan\u0131rsa, otomatik yenileme mekanizmas\u0131 d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131yor demektir.<\/p>\n<p>\u015eimdi web taray\u0131c\u0131n\u0131zdan <code>https:\/\/ornek.com<\/code> adresine giderek sitenizin g\u00fcvenli bir ba\u011flant\u0131 \u00fczerinden \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve taray\u0131c\u0131n\u0131z\u0131n adres \u00e7ubu\u011funda bir kilit simgesi veya &#8220;G\u00fcvenli&#8221; ibaresini g\u00f6rd\u00fc\u011f\u00fcn\u00fcz\u00fc do\u011frulayabilirsiniz.<\/p>\n<h3>Ad\u0131m 9: Nginx Log Dosyalar\u0131 ve Hata Ay\u0131klama<\/h3>\n<p>Nginx, sunucu faaliyetlerini ve olas\u0131 sorunlar\u0131 izlemek i\u00e7in iki ana log dosyas\u0131 tutar:<\/p>\n<p>*   <strong>Eri\u015fim Loglar\u0131 (<code>\/var\/log\/nginx\/access.log<\/code>):<\/strong> Web sunucusuna yap\u0131lan her iste\u011fi kaydeder. Hangi IP adreslerinin sitenize eri\u015fti\u011fini, hangi sayfalar\u0131 g\u00f6r\u00fcnt\u00fclediklerini, kullan\u0131lan taray\u0131c\u0131y\u0131 ve di\u011fer bilgileri i\u00e7erir. Bu loglar, trafik analizi ve kullan\u0131m istatistikleri i\u00e7in de\u011ferlidir.<br \/>\n*   <strong>Hata Loglar\u0131 (<code>\/var\/log\/nginx\/error.log<\/code>):<\/strong> Nginx&#8217;in kar\u015f\u0131la\u015ft\u0131\u011f\u0131 t\u00fcm hata, uyar\u0131 ve kritik mesajlar\u0131 kaydeder. Yap\u0131land\u0131rma hatalar\u0131, dosya bulunamad\u0131 hatalar\u0131, proxy hatalar\u0131 gibi sorunlar\u0131 gidermek i\u00e7in bu log dosyas\u0131 hayati \u00f6neme sahiptir.<\/p>\n<p>Bu log dosyalar\u0131n\u0131 ger\u00e7ek zamanl\u0131 olarak izlemek i\u00e7in <code>tail -f<\/code> komutunu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo tail -f \/var\/log\/nginx\/access.log\nsudo tail -f \/var\/log\/nginx\/error.log<\/code><\/pre>\n<p><strong>Hata Ay\u0131klama \u0130pu\u00e7lar\u0131:<\/strong><\/p>\n<p>*   <strong><code>nginx -t<\/code>:<\/strong> Herhangi bir yap\u0131land\u0131rma de\u011fi\u015fikli\u011fi yapt\u0131ktan sonra bu komutu \u00e7al\u0131\u015ft\u0131rmak, s\u00f6zdizimi hatalar\u0131n\u0131 kontrol etmenin en h\u0131zl\u0131 yoludur.<br \/>\n*   <strong><code>systemctl status nginx<\/code>:<\/strong> Nginx servisinin durumunu kontrol etmek, \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 veya neden \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 anlamak i\u00e7in ilk ad\u0131md\u0131r.<br \/>\n*   <strong>Hata Loglar\u0131n\u0131 Kontrol Etme:<\/strong> Nginx bir sorunla kar\u015f\u0131la\u015ft\u0131\u011f\u0131nda, genellikle <code>\/var\/log\/nginx\/error.log<\/code> dosyas\u0131na detayl\u0131 bilgi yazar. Bu log dosyas\u0131n\u0131 d\u00fczenli olarak kontrol etmek, sorunlar\u0131 h\u0131zl\u0131ca tespit etmenize yard\u0131mc\u0131 olur.<br \/>\n*   <strong>\u0130zinler:<\/strong> Nginx&#8217;in web dosyalar\u0131n\u0131 okuyabilmesi i\u00e7in do\u011fru dosya ve dizin izinlerine sahip olmas\u0131 gerekir. Web k\u00f6k dizininizin ve dosyalar\u0131n\u0131z\u0131n Nginx kullan\u0131c\u0131s\u0131 (genellikle <code>www-data<\/code>) taraf\u0131ndan okunabilir oldu\u011fundan emin olun. \u00d6rne\u011fin: <code>sudo chown -R www-data:www-data \/var\/www\/ornek.com<\/code> ve <code>sudo chmod -R 755 \/var\/www\/ornek.com<\/code>.<\/p>\n<h3>Ad\u0131m 10: Nginx Performans \u0130pu\u00e7lar\u0131 (\u0130leri D\u00fczey)<\/h3>\n<p>Nginx&#8217;in varsay\u0131lan yap\u0131land\u0131rmas\u0131 \u00e7o\u011fu durum i\u00e7in yeterli olsa da, y\u00fcksek trafikli siteler veya belirli kullan\u0131m senaryolar\u0131 i\u00e7in baz\u0131 optimizasyonlar yap\u0131labilir. Bu optimizasyonlar genellikle <code>nginx.conf<\/code> dosyas\u0131nda veya siteye \u00f6zel server block&#8217;larda yap\u0131l\u0131r.<\/p>\n<p>*   <strong><code>worker_processes<\/code>:<\/strong> Bu direktif, Nginx&#8217;in ka\u00e7 tane worker s\u00fcrecini \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131 belirler. Genellikle sunucunuzdaki CPU \u00e7ekirde\u011fi say\u0131s\u0131na e\u015fit veya biraz daha fazla ayarlanmas\u0131 \u00f6nerilir. <code>auto<\/code> olarak ayarlamak, Nginx&#8217;in mevcut CPU \u00e7ekirdek say\u0131s\u0131n\u0131 otomatik olarak alg\u0131lamas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-nginx\"># \/etc\/nginx\/nginx.conf i\u00e7inde\n    worker_processes auto;<\/code><\/pre>\n<p>*   <strong><code>keepalive_timeout<\/code>:<\/strong> \u0130stemci ile sunucu aras\u0131ndaki bir ba\u011flant\u0131n\u0131n ne kadar s\u00fcre a\u00e7\u0131k kalaca\u011f\u0131n\u0131 belirler. Daha y\u00fcksek bir de\u011fer, ayn\u0131 istemciden gelen birden fazla iste\u011fin daha h\u0131zl\u0131 i\u015flenmesini sa\u011flayabilir, ancak sunucu kaynaklar\u0131n\u0131 daha uzun s\u00fcre me\u015fgul edebilir. Varsay\u0131lan 75 saniye genellikle iyidir.<\/p>\n<pre><code class=\"language-nginx\"># \/etc\/nginx\/nginx.conf i\u00e7inde http blo\u011funda\n    keepalive_timeout 65;<\/code><\/pre>\n<p>*   <strong>Gzip S\u0131k\u0131\u015ft\u0131rma:<\/strong> Nginx, metin tabanl\u0131 dosyalar\u0131 (HTML, CSS, JavaScript) istemciye g\u00f6ndermeden \u00f6nce s\u0131k\u0131\u015ft\u0131rarak bant geni\u015fli\u011fini azaltabilir ve y\u00fckleme s\u00fcrelerini h\u0131zland\u0131rabilir.<\/p>\n<pre><code class=\"language-nginx\"># \/etc\/nginx\/nginx.conf i\u00e7inde http blo\u011funda\n    gzip on;\n    gzip_vary on;\n    gzip_proxied any;\n    gzip_comp_level 6;\n    gzip_buffers 16 8k;\n    gzip_http_version 1.1;\n    gzip_types text\/plain text\/css application\/json application\/javascript text\/xml application\/xml application\/xml+rss text\/javascript;<\/code><\/pre>\n<p>*   <strong>Statik Dosya \u00d6nbellekleme (Browser Caching):<\/strong> Taray\u0131c\u0131lar\u0131n statik dosyalar\u0131 (resimler, CSS, JS) belirli bir s\u00fcre \u00f6nbelle\u011fe almas\u0131n\u0131 sa\u011flayarak, sonraki ziyaretlerde sunucudan tekrar indirilmesini \u00f6nler. Bu, \u00f6zellikle server block i\u00e7inde <code>location<\/code> direktifi ile yap\u0131l\u0131r.<\/p>\n<pre><code class=\"language-nginx\"># ornek.com server block i\u00e7inde\n    location ~* \\.(jpg|jpeg|gif|png|css|js|ico|xml)$ {\n        expires 30d;\n        log_not_found off;\n    }<\/code><\/pre>\n<p>*   <strong>Buffer Boyutlar\u0131:<\/strong> Nginx&#8217;in istemci iste\u011fi ve yan\u0131t\u0131 i\u00e7in kulland\u0131\u011f\u0131 buffer boyutlar\u0131n\u0131 ayarlamak, \u00f6zellikle b\u00fcy\u00fck dosya y\u00fcklemeleri veya y\u00fcksek trafik durumlar\u0131nda performans\u0131 etkileyebilir.<\/p>\n<pre><code class=\"language-nginx\"># \/etc\/nginx\/nginx.conf i\u00e7inde http blo\u011funda\n    client_body_buffer_size 128k;\n    client_header_buffer_size 16k;\n    client_max_body_size 250m; # Maksimum y\u00fckleme boyutu\n    large_client_header_buffers 4 16k;<\/code><\/pre>\n<p>Bu performans ipu\u00e7lar\u0131n\u0131 uygulad\u0131ktan sonra her zaman <code>sudo nginx -t<\/code> ile yap\u0131land\u0131rma s\u00f6zdizimini kontrol etmeyi ve ard\u0131ndan <code>sudo systemctl reload nginx<\/code> ile Nginx&#8217;i yeniden y\u00fcklemeyi unutmay\u0131n.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Debian 8 (Jessie) i\u015fletim sistemi \u00fczerine Nginx&#8217;i ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, temel yap\u0131land\u0131rmalar\u0131 nas\u0131l yapaca\u011f\u0131n\u0131z\u0131, g\u00fcvenlik duvar\u0131n\u0131 nas\u0131l y\u00f6netece\u011finizi ve SSL\/TLS ile sitenizi nas\u0131l g\u00fcvenli hale getirece\u011finizi \u00f6\u011frendiniz. Ayr\u0131ca, Nginx&#8217;in temel yap\u0131land\u0131rma dosyalar\u0131n\u0131, loglama mekanizmalar\u0131n\u0131 ve performans optimizasyonu i\u00e7in baz\u0131 ipu\u00e7lar\u0131n\u0131 da inceledik.<\/p>\n<p>Nginx, modern web altyap\u0131lar\u0131n\u0131n temel ta\u015f\u0131d\u0131r ve bu rehberde edindi\u011finiz bilgilerle kendi web sitelerinizi veya uygulamalar\u0131n\u0131z\u0131 g\u00fcvenle bar\u0131nd\u0131rmak i\u00e7in sa\u011flam bir temel olu\u015fturmu\u015f oldunuz. Nginx&#8217;in sundu\u011fu olanaklar sadece web sunuculu\u011fu ile s\u0131n\u0131rl\u0131 de\u011fildir; ters proxy, y\u00fck dengeleme, API a\u011f ge\u00e7idi gibi bir\u00e7ok farkl\u0131 senaryoda da kullan\u0131labilir.<\/p>\n<p><strong>Sonraki Ad\u0131mlar:<\/strong><\/p>\n<p>*   <strong>PHP-FPM Entegrasyonu:<\/strong> Dinamik web siteleri (WordPress, Laravel vb.) i\u00e7in Nginx&#8217;i PHP-FPM (FastCGI Process Manager) ile entegre etmeniz gerekecektir. Bu, Nginx&#8217;in PHP dosyalar\u0131n\u0131 i\u015flemek i\u00e7in PHP-FPM&#8217;ye y\u00f6nlendirmesini sa\u011flar.<br \/>\n*   <strong>Veritaban\u0131 Kurulumu:<\/strong> Web uygulamalar\u0131 genellikle bir veritaban\u0131na (MySQL\/MariaDB, PostgreSQL gibi) ihtiya\u00e7 duyar.<br \/>\n*   <strong>Cache Mekanizmalar\u0131:<\/strong> Nginx FastCGI cache veya Redis\/Memcached gibi harici cache sistemlerini kullanarak uygulaman\u0131z\u0131n performans\u0131n\u0131 daha da art\u0131rabilirsiniz.<br \/>\n*   <strong>Monit\u00f6ring ve Log Analizi:<\/strong> Nginx sunucunuzun performans\u0131n\u0131 ve sa\u011fl\u0131\u011f\u0131n\u0131 izlemek i\u00e7in Prometheus, Grafana veya ELK Stack gibi ara\u00e7lar\u0131 kullanmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz.<\/p>\n<p>Nginx ile \u00e7al\u0131\u015fmaya devam ettik\u00e7e, dok\u00fcmantasyonunu incelemek ve topluluk kaynaklar\u0131ndan faydalanmak, bilginizi derinle\u015ftirmenize ve daha karma\u015f\u0131k yap\u0131land\u0131rmalar\u0131 uygulaman\u0131za yard\u0131mc\u0131 olacakt\u0131r. G\u00fcvenli ve y\u00fcksek performansl\u0131 web deneyimleri yaratma yolculu\u011funuzda ba\u015far\u0131lar dileriz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi\nNginx (engine-x olarak telaffuz edilir), Rus geli\u015ftirici Igor Sysoev taraf\u0131ndan olu\u015fturulan ve","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":[241],"tags":[],"class_list":{"0":"post-39888","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","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>Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi - 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\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi\" \/>\n<meta property=\"og:description\" content=\"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi Nginx (engine-x olarak telaffuz edilir), Rus geli\u015ftirici Igor Sysoev taraf\u0131ndan olu\u015fturulan ve\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-24T10:40:58+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=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi\",\"datePublished\":\"2026-02-24T10:40:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/\"},\"wordCount\":3588,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/\",\"name\":\"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-24T10:40:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi\"}]},{\"@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":"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi - 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\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi","og_description":"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi Nginx (engine-x olarak telaffuz edilir), Rus geli\u015ftirici Igor Sysoev taraf\u0131ndan olu\u015fturulan ve","og_url":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-24T10:40:58+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi","datePublished":"2026-02-24T10:40:58+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/"},"wordCount":3588,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/","name":"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-24T10:40:58+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/debian-8-uzerine-nginx-kurulumu-kapsamli-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Debian 8 \u00dczerine Nginx Kurulumu Kapsaml\u0131 Rehberi"}]},{"@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\/39888","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=39888"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39888\/revisions"}],"predecessor-version":[{"id":39889,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39888\/revisions\/39889"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=39888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=39888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=39888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}