{"id":30358,"date":"2025-09-26T21:41:14","date_gmt":"2025-09-26T18:41:14","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=30358"},"modified":"2025-09-26T21:41:14","modified_gmt":"2025-09-26T18:41:14","slug":"nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/","title":{"rendered":"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131"},"content":{"rendered":"<p><body><\/p>\n<h2>Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131<\/h2>\n<p>Web performans\u0131, modern internet d\u00fcnyas\u0131nda kullan\u0131c\u0131 deneyimi, arama motoru optimizasyonu (SEO) ve d\u00f6n\u00fc\u015f\u00fcm oranlar\u0131 a\u00e7\u0131s\u0131ndan kritik bir \u00f6neme sahiptir. H\u0131zl\u0131 y\u00fcklenen bir web sitesi, ziyaret\u00e7ilerin sitede daha uzun s\u00fcre kalmas\u0131n\u0131, daha fazla etkile\u015fimde bulunmas\u0131n\u0131 ve arama motorlar\u0131nda daha \u00fcst s\u0131ralarda yer almas\u0131n\u0131 sa\u011flar. Google&#8217;\u0131n PageSpeed Insights gibi ara\u00e7lar\u0131, web sitelerinin performans\u0131n\u0131 \u00f6l\u00e7mek ve iyile\u015ftirme \u00f6nerileri sunmak i\u00e7in yayg\u0131n olarak kullan\u0131lmaktad\u0131r. Bu makalede, Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fan bir Nginx web sunucusunun konfig\u00fcrasyonunu optimize ederek PageSpeed puan\u0131n\u0131z\u0131 nas\u0131l art\u0131rabilece\u011finizi detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>Nginx Nedir ve Neden Performans i\u00e7in \u00d6nemlidir?<\/h3>\n<p>Nginx (Engine-X olarak okunur), y\u00fcksek performansl\u0131, kararl\u0131, zengin \u00f6zelliklere sahip ve d\u00fc\u015f\u00fck kaynak t\u00fcketimiyle bilinen a\u00e7\u0131k kaynakl\u0131 bir web sunucusu, ters proxy, y\u00fck dengeleyici ve HTTP \u00f6nbelle\u011fidir. Apache gibi geleneksel sunucular\u0131n aksine, Nginx olay tabanl\u0131 (event-driven) ve asenkron bir mimariye sahiptir. Bu mimari, Nginx&#8217;in ayn\u0131 anda binlerce ba\u011flant\u0131y\u0131 \u00e7ok daha az sistem kayna\u011f\u0131 kullanarak y\u00f6netmesini sa\u011flar. Bu \u00f6zelli\u011fi sayesinde, \u00f6zellikle y\u00fcksek trafikli web siteleri i\u00e7in ideal bir se\u00e7imdir ve PageSpeed puan\u0131n\u0131 do\u011frudan etkileyen y\u00fckleme s\u00fcrelerini \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirebilir.<\/p>\n<p>Ubuntu 16.04, uzun s\u00fcre desteklenen (LTS) bir s\u00fcr\u00fcm olmas\u0131na ra\u011fmen, Nginx&#8217;in temel performans optimizasyonlar\u0131 bu s\u00fcr\u00fcmde de ge\u00e7erlidir. Baz\u0131 modern \u00f6zellikler (\u00f6rne\u011fin TLSv1.3 veya Brotli&#8217;nin en g\u00fcncel versiyonlar\u0131) i\u00e7in Nginx&#8217;in daha yeni s\u00fcr\u00fcmlerini veya \u00f6zel derlemelerini kullanmak gerekebilir, ancak makalede ele al\u0131nan temel prensipler evrenseldir.<\/p>\n<h3>Nginx Konfig\u00fcrasyonu ile PageSpeed Optimizasyon Ad\u0131mlar\u0131<\/h3>\n<p>Nginx konfig\u00fcrasyon dosyalar\u0131 genellikle <code>\/etc\/nginx\/nginx.conf<\/code> ana dosyas\u0131 ve <code>\/etc\/nginx\/sites-available\/<\/code> dizinindeki sanal host (server block) dosyalar\u0131ndan olu\u015fur. Optimizasyonlar\u0131n \u00e7o\u011fu, ilgili <code>server<\/code> veya <code>location<\/code> bloklar\u0131 i\u00e7erisinde yap\u0131lacakt\u0131r. Her de\u011fi\u015fiklikten \u00f6nce mevcut konfig\u00fcrasyonunuzu yedeklemeniz ve de\u011fi\u015fiklikleri uygulad\u0131ktan sonra <code>sudo nginx -t<\/code> komutu ile test etmeniz \u00f6nerilir.<\/p>\n<h4>GZIP\/Brotli S\u0131k\u0131\u015ft\u0131rma<\/h4>\n<p>Web sitenizin y\u00fckleme h\u0131z\u0131n\u0131 art\u0131rman\u0131n en etkili yollar\u0131ndan biri, sunucu ile istemci aras\u0131ndaki veri transferini s\u0131k\u0131\u015ft\u0131rmakt\u0131r. GZIP ve Brotli, bu ama\u00e7la kullan\u0131lan pop\u00fcler s\u0131k\u0131\u015ft\u0131rma algoritmalar\u0131d\u0131r. S\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f i\u00e7erik, daha az bant geni\u015fli\u011fi t\u00fcketir ve daha h\u0131zl\u0131 indirilir, bu da PageSpeed puan\u0131n\u0131z\u0131 do\u011frudan art\u0131r\u0131r.<\/p>\n<h5>GZIP Konfig\u00fcrasyonu<\/h5>\n<p>Nginx, varsay\u0131lan olarak GZIP s\u0131k\u0131\u015ft\u0131rmay\u0131 destekler. Bu ayarlar\u0131 genellikle <code>http<\/code> blo\u011fu i\u00e7ine yerle\u015ftirmek, t\u00fcm sanal hostlar i\u00e7in ge\u00e7erli olmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-nginx\">gzip on;\ngzip_vary on;\ngzip_proxied any;\ngzip_comp_level 6;\ngzip_buffers 16 8k;\ngzip_http_version 1.1;\ngzip_types text\/plain text\/css application\/json application\/javascript text\/xml application\/xml application\/xml+rss text\/javascript image\/svg+xml application\/x-font-ttf font\/opentype font\/ttf font\/eot font\/otf;<\/code><\/pre>\n<p>*   <code>gzip on;<\/code>: GZIP s\u0131k\u0131\u015ft\u0131rmay\u0131 etkinle\u015ftirir.<br \/>\n*   <code>gzip_vary on;<\/code>: Proxy sunucular\u0131n\u0131n s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f ve s\u0131k\u0131\u015ft\u0131r\u0131lmam\u0131\u015f versiyonlar\u0131 do\u011fru \u015fekilde \u00f6nbelle\u011fe almas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>gzip_proxied any;<\/code>: T\u00fcm proxy istekleri i\u00e7in s\u0131k\u0131\u015ft\u0131rmay\u0131 etkinle\u015ftirir.<br \/>\n*   <code>gzip_comp_level 6;<\/code>: S\u0131k\u0131\u015ft\u0131rma seviyesini ayarlar (1&#8217;den 9&#8217;a kadar). 6 genellikle iyi bir denge sunar: daha y\u00fcksek seviyeler daha iyi s\u0131k\u0131\u015ft\u0131rma sa\u011flar ancak daha fazla CPU kullan\u0131r.<br \/>\n*   <code>gzip_buffers 16 8k;<\/code>: S\u0131k\u0131\u015ft\u0131rma i\u00e7in kullan\u0131lacak bellek arabelleklerinin say\u0131s\u0131n\u0131 ve boyutunu ayarlar.<br \/>\n*   <code>gzip_http_version 1.1;<\/code>: Minimum HTTP s\u00fcr\u00fcm\u00fcn\u00fc belirler.<br \/>\n*   <code>gzip_types ...;<\/code>: S\u0131k\u0131\u015ft\u0131r\u0131lacak MIME t\u00fcrlerini belirtir. Yaln\u0131zca metin tabanl\u0131 dosyalar\u0131 (HTML, CSS, JS, JSON, XML, SVG, fontlar) s\u0131k\u0131\u015ft\u0131rmal\u0131s\u0131n\u0131z; resimler (JPG, PNG) zaten s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f oldu\u011fu i\u00e7in tekrar s\u0131k\u0131\u015ft\u0131rmak performans\u0131 k\u00f6t\u00fcle\u015ftirebilir.<\/p>\n<h5>Brotli Konfig\u00fcrasyonu (Daha Yeni ve Daha Verimli)<\/h5>\n<p>Brotli, Google taraf\u0131ndan geli\u015ftirilen, GZIP&#8217;e g\u00f6re daha iyi s\u0131k\u0131\u015ft\u0131rma oranlar\u0131 sunan modern bir algoritmad\u0131r. Ubuntu 16.04 \u00fczerindeki varsay\u0131lan Nginx s\u00fcr\u00fcm\u00fc (genellikle 1.10.x) do\u011frudan Brotli mod\u00fcl\u00fcn\u00fc i\u00e7ermeyebilir. Brotli kullanmak i\u00e7in Nginx&#8217;i Brotli mod\u00fcl\u00fc ile derlemeniz veya Nginx PPA gibi harici bir depodan daha yeni bir Nginx s\u00fcr\u00fcm\u00fc y\u00fcklemeniz gerekebilir. Bu, Ubuntu 16.04 i\u00e7in biraz daha geli\u015fmi\u015f bir ad\u0131md\u0131r ancak performans kazanc\u0131 nedeniyle de\u011ferlidir.<\/p>\n<p>E\u011fer Brotli mod\u00fcl\u00fcn\u00fc ba\u015far\u0131yla kurduysan\u0131z, konfig\u00fcrasyon GZIP&#8217;e benzer:<\/p>\n<pre><code class=\"language-nginx\">brotli on;\nbrotli_comp_level 6;\nbrotli_types text\/plain text\/css application\/json application\/javascript text\/xml application\/xml application\/xml+rss text\/javascript image\/svg+xml application\/x-font-ttf font\/opentype font\/ttf font\/eot font\/otf;<\/code><\/pre>\n<p>*   <code>brotli on;<\/code>: Brotli s\u0131k\u0131\u015ft\u0131rmay\u0131 etkinle\u015ftirir.<br \/>\n*   <code>brotli_comp_level 6;<\/code>: S\u0131k\u0131\u015ft\u0131rma seviyesini ayarlar (1&#8217;den 11&#8217;e kadar).<br \/>\n*   <code>brotli_types ...;<\/code>: S\u0131k\u0131\u015ft\u0131r\u0131lacak MIME t\u00fcrlerini belirtir.<\/p>\n<p>Her iki s\u0131k\u0131\u015ft\u0131rma t\u00fcr\u00fcn\u00fc de kullanmak isterseniz, Nginx istemcinin &#8220;Accept-Encoding&#8221; ba\u015fl\u0131\u011f\u0131na bakarak en iyi s\u0131k\u0131\u015ft\u0131rma y\u00f6ntemini otomatik olarak se\u00e7ecektir (genellikle Brotli, daha sonra GZIP).<\/p>\n<h4>Taray\u0131c\u0131 \u00d6nbellekleme (Browser Caching)<\/h4>\n<p>Tekrarlayan ziyaretlerde web sitenizin y\u00fcklenme s\u00fcresini dramatik \u015fekilde azaltmak i\u00e7in taray\u0131c\u0131 \u00f6nbelleklemesini kullanmak hayati \u00f6neme sahiptir. Bu, taray\u0131c\u0131n\u0131n statik dosyalar\u0131 (resimler, CSS, JavaScript, fontlar) yerel olarak depolamas\u0131n\u0131 ve bir sonraki ziyarette sunucudan tekrar indirmek yerine yerel \u00f6nbellekten kullanmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Bu ayar\u0131 genellikle <code>server<\/code> blo\u011fu i\u00e7erisindeki <code>location<\/code> bloklar\u0131nda belirli dosya t\u00fcrleri i\u00e7in yapmal\u0131s\u0131n\u0131z:<\/p>\n<pre><code class=\"language-nginx\">location ~* \\.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {\n    expires 30d;\n    add_header Pragma \"public\";\n    add_header Cache-Control \"public, immutable\";\n}\n\n<h2>Dinamik i\u00e7erik i\u00e7in \u00f6nbellekleme yapmay\u0131n veya k\u0131sa s\u00fcreli yap\u0131n<\/h2>\nlocation ~* \\.(php|html)$ {\n    expires off;\n    add_header Cache-Control \"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0\";\n    # Di\u011fer PHP\/HTML i\u015fleme ayarlar\u0131...\n}<\/code><\/pre>\n<p>*   <code>expires 30d;<\/code>: Belirtilen dosya t\u00fcrlerinin 30 g\u00fcn boyunca \u00f6nbellekte tutulmas\u0131n\u0131 s\u00f6yler. <code>1h<\/code> (1 saat), <code>1d<\/code> (1 g\u00fcn), <code>1w<\/code> (1 hafta), <code>1M<\/code> (1 ay), <code>1y<\/code> (1 y\u0131l) gibi de\u011ferler kullan\u0131labilir.<br \/>\n*   <code>add_header Pragma \"public\";<\/code>: HTTP\/1.0 uyumlulu\u011fu i\u00e7in eklenir.<br \/>\n*   <code>add_header Cache-Control \"public, immutable\";<\/code>: \u00d6nbellekleme davran\u0131\u015f\u0131n\u0131 kontrol eder. <code>public<\/code> i\u00e7eri\u011fin herhangi bir \u00f6nbellek taraf\u0131ndan \u00f6nbelle\u011fe al\u0131nabilece\u011fini belirtir. <code>immutable<\/code> ise dosyan\u0131n i\u00e7eri\u011finin de\u011fi\u015fmeyece\u011fini, bu nedenle taray\u0131c\u0131n\u0131n sunucuya tekrar sormadan \u00f6nbellekten kullanabilece\u011fini belirtir. Bu, \u00f6zellikle versiyonlanm\u0131\u015f (hashed) dosya isimleri kullan\u0131ld\u0131\u011f\u0131nda \u00e7ok etkilidir (\u00f6rne\u011fin <code>style.abcdef123.css<\/code>).<\/p>\n<h4>Statik Dosya Sunumu ve HTTP\/2<\/h4>\n<p>Statik dosyalar\u0131n verimli bir \u015fekilde sunulmas\u0131 ve HTTP\/2 protokol\u00fcn\u00fcn kullan\u0131lmas\u0131, PageSpeed puan\u0131n\u0131z\u0131 iyile\u015ftiren \u00f6nemli fakt\u00f6rlerdir.<\/p>\n<h5>Statik Dosya Optimizasyonu<\/h5>\n<p>Nginx, statik dosyalar\u0131 sunma konusunda son derece etkilidir. A\u015fa\u011f\u0131daki direktifler, bu s\u00fcreci daha da optimize eder:<\/p>\n<pre><code class=\"language-nginx\">sendfile on;\ntcp_nopush on;<\/code><\/pre>\n<p>*   <code>sendfile on;<\/code>: Nginx&#8217;in statik dosyalar\u0131 do\u011frudan \u00e7ekirdek seviyesinden g\u00f6ndermesini sa\u011flar, bu da dosya okuma ve g\u00f6nderme aras\u0131nda kullan\u0131c\u0131 alan\u0131 kopyalamas\u0131n\u0131 ortadan kald\u0131rarak performans\u0131 art\u0131r\u0131r.<br \/>\n*   <code>tcp_nopush on;<\/code>: <code>sendfile<\/code> ile birlikte kullan\u0131ld\u0131\u011f\u0131nda, Nginx&#8217;in bir TCP paketini doldurana kadar g\u00f6ndermeyi geciktirmesini sa\u011flar. Bu, daha az a\u011f paketi g\u00f6nderilmesine ve daha verimli bant geni\u015fli\u011fi kullan\u0131m\u0131na yol a\u00e7ar.<\/p>\n<h5>HTTP\/2 Protokol\u00fc<\/h5>\n<p>HTTP\/2, HTTP\/1.1&#8217;e g\u00f6re \u00f6nemli performans iyile\u015ftirmeleri sunan yeni nesil bir protokold\u00fcr. \u00c7oklu istekleri tek bir ba\u011flant\u0131 \u00fczerinden g\u00f6nderme (multiplexing), ba\u015fl\u0131k s\u0131k\u0131\u015ft\u0131rma ve sunucu itme (server push) gibi \u00f6zellikleriyle sayfa y\u00fckleme s\u00fcrelerini k\u0131salt\u0131r. HTTP\/2 kullanmak i\u00e7in SSL\/TLS \u015fifrelemesi zorunludur.<\/p>\n<p>Ubuntu 16.04 \u00fczerindeki Nginx 1.10.x s\u00fcr\u00fcm\u00fc HTTP\/2 deste\u011fine sahiptir. Bunu etkinle\u015ftirmek i\u00e7in <code>server<\/code> blo\u011funuzdaki <code>listen<\/code> direktifini g\u00fcncellemeniz yeterlidir:<\/p>\n<pre><code class=\"language-nginx\">listen 443 ssl http2; # HTTP\/2'yi etkinle\u015ftirir<\/code><\/pre>\n<p>Bu ayar\u0131 yapmadan \u00f6nce SSL\/TLS sertifikalar\u0131n\u0131z\u0131n do\u011fru \u015fekilde yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z.<\/p>\n<h4>SSL\/TLS Optimizasyonu<\/h4>\n<p>HTTPS kullan\u0131m\u0131, modern web siteleri i\u00e7in bir standart haline gelmi\u015ftir. G\u00fcvenlik, SEO avantajlar\u0131 ve HTTP\/2&#8217;nin \u00f6nko\u015fulu olmas\u0131 nedeniyle kritik \u00f6neme sahiptir. Nginx \u00fczerinde SSL\/TLS performans\u0131n\u0131 optimize etmek, PageSpeed puan\u0131n\u0131z\u0131 olumlu etkileyecektir.<\/p>\n<pre><code class=\"language-nginx\"># SSL\/TLS sertifika ve anahtar yollar\u0131\nssl_certificate \/etc\/nginx\/ssl\/your_domain.crt;\nssl_certificate_key \/etc\/nginx\/ssl\/your_domain.key;\n\n<h2>Tercih edilen TLS protokolleri<\/h2>\n<h2>Ubuntu 16.04 varsay\u0131lan Nginx\/OpenSSL ile TLSv1.3 deste\u011fi i\u00e7in Nginx 1.13+ ve OpenSSL 1.1.1+ gerekir.<\/h2>\n<h2>E\u011fer bu versiyonlara sahip de\u011filseniz TLSv1.3'\u00fc kald\u0131rman\u0131z gerekebilir.<\/h2>\nssl_protocols TLSv1.2 TLSv1.3;\n\n<h2>G\u00fc\u00e7l\u00fc \u015fifreleme algoritmalar\u0131<\/h2>\nssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';\nssl_prefer_server_ciphers on; # Sunucunun \u015fifreleme algoritmas\u0131n\u0131 tercih etmesini sa\u011flar\n\n<h2>SSL oturum \u00f6nbellekleme<\/h2>\nssl_session_cache shared:SSL:10m;\nssl_session_timeout 1d;\nssl_session_tickets off; # G\u00fcvenlik nedenleriyle kapal\u0131 tutulmas\u0131 \u00f6nerilir\n\n<h2>OCSP Stapling (Sertifika iptal durumunu h\u0131zland\u0131r\u0131r)<\/h2>\nssl_stapling on;\nssl_stapling_verify on;\nresolver 8.8.8.8 8.8.4.4 valid=300s; # OCSP denetimi i\u00e7in DNS \u00e7\u00f6z\u00fcmleyiciler\nresolver_timeout 5s;\n\n<h2>HSTS (HTTP Strict Transport Security)<\/h2>\nadd_header Strict-Transport-Security \"max-age=63072000; includeSubDomains; preload\" always;<\/code><\/pre>\n<p>*   <code>ssl_protocols<\/code>: Kullan\u0131lacak TLS protokollerini belirtir. Eski, g\u00fcvensiz protokollerden ka\u00e7\u0131n\u0131lmal\u0131d\u0131r (SSLv3, TLSv1.0, TLSv1.1). Ubuntu 16.04 \u00fczerinde OpenSSL 1.0.2 varsay\u0131lan olarak gelir ve TLSv1.3&#8217;\u00fc desteklemez. TLSv1.3 i\u00e7in OpenSSL 1.1.1 veya \u00fcst\u00fc gereklidir. Bu nedenle, <code>TLSv1.3<\/code> eklemeden \u00f6nce OpenSSL s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc kontrol etmelisiniz.<br \/>\n*   <code>ssl_ciphers<\/code>: Kullan\u0131lacak \u015fifreleme algoritmalar\u0131n\u0131 belirler. G\u00fc\u00e7l\u00fc ve modern algoritmalar tercih edilmelidir.<br \/>\n*   <code>ssl_session_cache<\/code>: TLS el s\u0131k\u0131\u015fmas\u0131n\u0131 h\u0131zland\u0131rmak i\u00e7in oturum bilgilerini \u00f6nbelle\u011fe al\u0131r.<br \/>\n*   <code>ssl_stapling<\/code>: OCSP (Online Certificate Status Protocol) Stapling, istemcinin sertifika iptal durumunu do\u011frulamak i\u00e7in OCSP sunucusuna ayr\u0131 bir istek g\u00f6ndermesini engeller, bu da ba\u011flant\u0131 kurma s\u00fcresini k\u0131salt\u0131r.<br \/>\n*   <code>Strict-Transport-Security<\/code>: HSTS ba\u015fl\u0131\u011f\u0131, taray\u0131c\u0131ya sitenize yaln\u0131zca HTTPS \u00fczerinden eri\u015fmesini s\u00f6yler. Bu, ilk ba\u011flant\u0131dan sonra gelecekteki t\u00fcm ba\u011flant\u0131lar\u0131n g\u00fcvenli olmas\u0131n\u0131 sa\u011flar ve HTTP&#8217;den HTTPS&#8217;ye y\u00f6nlendirme ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r.<\/p>\n<h4>Keepalive Ba\u011flant\u0131lar\u0131<\/h4>\n<p>Keepalive ba\u011flant\u0131lar\u0131, bir istemcinin birden fazla istek i\u00e7in ayn\u0131 TCP ba\u011flant\u0131s\u0131n\u0131 kullanmas\u0131n\u0131 sa\u011flar. Bu, her yeni istek i\u00e7in TCP el s\u0131k\u0131\u015fmas\u0131n\u0131n tekrarlanmas\u0131 ihtiyac\u0131n\u0131 ortadan kald\u0131rarak ba\u011flant\u0131 kurma gecikmesini azalt\u0131r ve PageSpeed puan\u0131n\u0131z\u0131 olumlu etkiler.<\/p>\n<pre><code class=\"language-nginx\">keepalive_timeout 65;\nkeepalive_requests 100;<\/code><\/pre>\n<p>*   <code>keepalive_timeout 65;<\/code>: Bir ba\u011flant\u0131n\u0131n ne kadar s\u00fcreyle a\u00e7\u0131k kalaca\u011f\u0131n\u0131 saniye cinsinden belirtir.<br \/>\n*   <code>keepalive_requests 100;<\/code>: Bir ba\u011flant\u0131 \u00fczerinden ka\u00e7 iste\u011fin i\u015flenebilece\u011fini belirler.<\/p>\n<h4>A\u00e7\u0131k Dosya Limitleri ve Worker S\u00fcre\u00e7leri<\/h4>\n<p>Nginx&#8217;in y\u00fcksek trafik alt\u0131nda stabil ve performansl\u0131 \u00e7al\u0131\u015fmas\u0131 i\u00e7in sistem kaynaklar\u0131n\u0131n do\u011fru \u015fekilde ayarlanmas\u0131 gerekir.<\/p>\n<pre><code class=\"language-nginx\"># nginx.conf dosyas\u0131n\u0131n en ba\u015f\u0131na yerle\u015ftirilir\nworker_processes auto; # veya sunucunuzdaki CPU \u00e7ekirdek say\u0131s\u0131\nworker_connections 1024; # Her worker s\u00fcrecinin a\u00e7abilece\u011fi maksimum ba\u011flant\u0131 say\u0131s\u0131\nmulti_accept on;\n\n<h2>HTTP blo\u011fu i\u00e7ine<\/h2>\nopen_file_cache max=100000 inactive=20s;\nopen_file_cache_valid 30s;\nopen_file_cache_min_uses 2;\nopen_file_cache_errors on;<\/code><\/pre>\n<p>*   <code>worker_processes<\/code>: Nginx&#8217;in ka\u00e7 adet worker s\u00fcreci \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131 belirler. <code>auto<\/code> genellikle iyi bir ba\u015flang\u0131\u00e7t\u0131r, Nginx CPU \u00e7ekirdek say\u0131s\u0131n\u0131 otomatik olarak alg\u0131lar.<br \/>\n*   <code>worker_connections<\/code>: Her worker s\u00fcrecinin ayn\u0131 anda ka\u00e7 ba\u011flant\u0131y\u0131 i\u015fleyebilece\u011fini belirler. Bu de\u011feri art\u0131rmadan \u00f6nce sistem genelindeki a\u00e7\u0131k dosya limitini (<code>ulimit -n<\/code>) kontrol etmeli ve art\u0131rmal\u0131s\u0131n\u0131z.<br \/>\n*   <code>multi_accept on;<\/code>: Worker s\u00fcre\u00e7lerinin yeni ba\u011flant\u0131lar\u0131 tek seferde kabul etmesini sa\u011flar.<br \/>\n*   <code>open_file_cache<\/code>: S\u0131k eri\u015filen dosyalar\u0131n (statik dosyalar, g\u00f6r\u00fcnt\u00fc dosyalar\u0131 vb.) dosya tan\u0131mlay\u0131c\u0131lar\u0131n\u0131 ve meta verilerini \u00f6nbelle\u011fe al\u0131r. Bu, disk G\/\u00c7&#8217;sini azalt\u0131r ve dosya eri\u015fimini h\u0131zland\u0131r\u0131r.<\/p>\n<p>Sistem genelinde a\u00e7\u0131k dosya limitini art\u0131rmak i\u00e7in <code>\/etc\/security\/limits.conf<\/code> dosyas\u0131na a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyebilir ve sunucuyu yeniden ba\u015flatabilirsiniz:<\/p>\n<pre><code class=\"language-\">* soft nofile 65535\n* hard nofile 65535<\/code><\/pre>\n<h4>Loglama Optimizasyonu<\/h4>\n<p>Nginx&#8217;in her iste\u011fi loglamas\u0131, y\u00fcksek trafikli sitelerde \u00f6nemli disk G\/\u00c7 y\u00fck\u00fc olu\u015fturabilir. Loglamay\u0131 optimize etmek, bu y\u00fck\u00fc azaltarak genel performans\u0131 art\u0131rabilir.<\/p>\n<pre><code class=\"language-nginx\"># HTTP blo\u011fu i\u00e7inde\naccess_log \/var\/log\/nginx\/access.log main buffer=16k flush=5s;\n<h2>veya statik dosyalar i\u00e7in loglamay\u0131 tamamen kapatabilirsiniz:<\/h2>\n<h2>location ~* \\.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {<\/h2>\n<h2>access_log off;<\/h2>\n<h2>log_not_found off;<\/h2>\n<h2># ... di\u011fer \u00f6nbellekleme ayarlar\u0131 ...<\/h2>\n<h2>}<\/code><\/pre>\n<\/h2>\n<p>*   <code>buffer=16k flush=5s;<\/code>: Loglar\u0131 diske hemen yazmak yerine belirli bir boyuta (16KB) veya zamana (5 saniye) kadar bellekte tutar ve toplu olarak yazar. Bu, disk G\/\u00c7 say\u0131s\u0131n\u0131 azalt\u0131r.<br \/>\n*   <code>access_log off;<\/code>: \u00d6zellikle y\u00fcksek trafikli statik dosya sunumu i\u00e7in eri\u015fim loglar\u0131n\u0131 tamamen kapatmak, performans\u0131 daha da art\u0131rabilir. Ancak bu durumda, bu dosyalar\u0131n eri\u015fim istatistiklerini izleyemezsiniz. <code>log_not_found off;<\/code> ise bulunamayan dosyalar\u0131n loglanmas\u0131n\u0131 engeller.<\/p>\n<h4>\u00d6nbellekleme (Reverse Proxy Caching)<\/h4>\n<p>E\u011fer Nginx&#8217;i bir ters proxy olarak kullan\u0131yorsan\u0131z (\u00f6rne\u011fin bir PHP-FPM veya Node.js backend \u00f6n\u00fcnde), Nginx&#8217;in dahili \u00f6nbellekleme yeteneklerini kullanarak dinamik i\u00e7eri\u011fi \u00f6nbelle\u011fe alabilir ve backend sunucusunun y\u00fck\u00fcn\u00fc \u00f6nemli \u00f6l\u00e7\u00fcde azaltabilirsiniz. Bu, \u00f6zellikle ayn\u0131 i\u00e7eri\u011fin s\u0131k\u00e7a talep edildi\u011fi durumlarda PageSpeed puan\u0131n\u0131z\u0131 art\u0131r\u0131r.<\/p>\n<pre><code class=\"language-nginx\"># nginx.conf veya http blo\u011fu i\u00e7inde\nproxy_cache_path \/var\/cache\/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m use_temp_path=off;\n\n<h2>server blo\u011fu i\u00e7inde<\/h2>\nserver {\n    listen 80;\n    server_name your_domain.com;\n\n    location \/ {\n        proxy_pass http:\/\/backend_server; # Backend sunucunuzun adresi veya IP'si\n        proxy_cache my_cache;\n        proxy_cache_valid 200 302 10m; # 200 ve 302 durum kodlu yan\u0131tlar\u0131 10 dakika \u00f6nbelle\u011fe al\n        proxy_cache_valid 404 1m;     # 404 durum kodlu yan\u0131tlar\u0131 1 dakika \u00f6nbelle\u011fe al\n        proxy_cache_revalidate on;\n        proxy_cache_min_uses 1;\n        proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;\n        proxy_cache_background_update on;\n        add_header X-Proxy-Cache $upstream_cache_status; # \u00d6nbellek durumunu yan\u0131t ba\u015fl\u0131\u011f\u0131na ekle\n\n        # \u00d6nbellekleme bypass kurallar\u0131 (iste\u011fe ba\u011fl\u0131)\n        # E\u011fer bir kullan\u0131c\u0131 oturum a\u00e7t\u0131ysa veya belirli bir \u00e7erez varsa \u00f6nbellek bypass edilir\n        proxy_cache_bypass $http_pragma $http_authorization $cookie_nocache;\n        proxy_no_cache $http_pragma $http_authorization $cookie_nocache;\n    }\n}<\/code><\/pre>\n<p>*   <code>proxy_cache_path<\/code>: \u00d6nbellek dosyalar\u0131n\u0131n depolanaca\u011f\u0131 yolu, dizin yap\u0131s\u0131n\u0131 (<code>levels<\/code>), anahtar b\u00f6lgesinin ad\u0131n\u0131 ve boyutunu (<code>keys_zone<\/code>), ve \u00f6nbellekte ne kadar s\u00fcreyle aktif olmayan dosyalar\u0131n tutulaca\u011f\u0131n\u0131 (<code>inactive<\/code>) tan\u0131mlar. <code>use_temp_path=off<\/code> ile \u00f6nbellekleme performans\u0131n\u0131 art\u0131r\u0131r.<br \/>\n*   <code>proxy_cache<\/code>: Tan\u0131mlanan \u00f6nbellek b\u00f6lgesini kullan\u0131r.<br \/>\n*   <code>proxy_cache_valid<\/code>: Belirli HTTP durum kodlar\u0131 i\u00e7in \u00f6nbellekleme s\u00fcresini ayarlar.<br \/>\n*   <code>proxy_cache_revalidate on;<\/code>: Nginx&#8217;in eski bir \u00f6nbelle\u011fe al\u0131nm\u0131\u015f yan\u0131t\u0131 yeniden do\u011frulamak i\u00e7in <code>If-Modified-Since<\/code> veya <code>If-None-Match<\/code> ko\u015fullu istekleri g\u00f6ndermesini sa\u011flar.<br \/>\n*   <code>proxy_cache_min_uses 1;<\/code>: Bir kayna\u011f\u0131n \u00f6nbelle\u011fe al\u0131nmas\u0131 i\u00e7in ka\u00e7 kez istenmesi gerekti\u011fini belirler.<br \/>\n*   <code>proxy_cache_use_stale<\/code>: Backend sunucusu hata verdi\u011finde veya zaman a\u015f\u0131m\u0131na u\u011frad\u0131\u011f\u0131nda Nginx&#8217;in eski (stale) \u00f6nbellek yan\u0131tlar\u0131n\u0131 sunmas\u0131na izin verir.<br \/>\n*   <code>proxy_cache_background_update on;<\/code>: Eski bir \u00f6nbellek yan\u0131t\u0131 sunarken, Nginx&#8217;in arka planda yeni bir yan\u0131t\u0131 \u00e7ekmesini sa\u011flar.<br \/>\n*   <code>proxy_cache_bypass<\/code> ve <code>proxy_no_cache<\/code>: Belirli ko\u015fullar alt\u0131nda (\u00f6rne\u011fin kullan\u0131c\u0131 oturum a\u00e7m\u0131\u015fsa veya belirli bir \u00e7erez varsa) \u00f6nbelleklemenin atlanmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>G\u00f6rsel Optimizasyonu<\/h4>\n<p>G\u00f6rsel optimizasyonu, PageSpeed puan\u0131n\u0131 art\u0131rman\u0131n en etkili yollar\u0131ndan biridir. Nginx do\u011frudan g\u00f6rsel optimizasyon ara\u00e7lar\u0131 sunmasa da, WebP gibi modern g\u00f6rsel formatlar\u0131n\u0131 sunmak i\u00e7in konfig\u00fcre edilebilir. WebP, JPG ve PNG&#8217;ye g\u00f6re daha k\u00fc\u00e7\u00fck dosya boyutlar\u0131 sunar ve \u00e7o\u011fu modern taray\u0131c\u0131 taraf\u0131ndan desteklenir.<\/p>\n<p>WebP kullanmak i\u00e7in g\u00f6rsellerinizin WebP versiyonlar\u0131n\u0131 \u00f6nceden olu\u015fturman\u0131z ve Nginx&#8217;in istemcinin taray\u0131c\u0131s\u0131n\u0131n WebP deste\u011fini alg\u0131layarak uygun format\u0131 sunmas\u0131n\u0131 sa\u011flaman\u0131z gerekir:<\/p>\n<pre><code class=\"language-nginx\"># server blo\u011fu i\u00e7inde\nmap $http_accept $webp_suffix {\n    default \"\";\n    \"~*webp\" \".webp\";\n}\n\nlocation ~* ^\/(img|images)\/(.+)\\.(jpg|jpeg|png)$ {\n    set $img_path $2;\n    set $img_ext $3;\n    \n    # E\u011fer taray\u0131c\u0131 WebP'yi destekliyorsa ve WebP versiyonu varsa onu sun\n    try_files \/img\/$img_path.$img_ext$webp_suffix \/img\/$img_path.$img_ext =404;\n\n    # Statik dosyalar i\u00e7in di\u011fer \u00f6nbellekleme ve s\u0131k\u0131\u015ft\u0131rma ayarlar\u0131\n    expires 30d;\n    add_header Cache-Control \"public, immutable\";\n    gzip_static on; # E\u011fer gzip'lenmi\u015f versiyonlar\u0131 da varsa (\u00f6rne\u011fin image.jpg.gz)\n}<\/code><\/pre>\n<p>Bu \u00f6rnek, <code>\/img\/<\/code> dizinindeki JPG\/PNG dosyalar\u0131n\u0131n WebP versiyonlar\u0131n\u0131n (<code>image.jpg.webp<\/code>) sunulmas\u0131n\u0131 sa\u011flar. <code>map<\/code> direktifi, <code>Accept<\/code> ba\u015fl\u0131\u011f\u0131nda <code>webp<\/code> olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. E\u011fer varsa, <code>webp_suffix<\/code> de\u011fi\u015fkenine <code>.webp<\/code> eklenir ve <code>try_files<\/code> direktifi \u00f6nce WebP versiyonunu deneyecektir. Bu yakla\u015f\u0131m, sunucunuzda WebP g\u00f6rsellerinin \u00f6nceden olu\u015fturulmas\u0131n\u0131 gerektirir.<\/p>\n<h3>Uygulama Ad\u0131mlar\u0131 ve Dikkat Edilmesi Gerekenler<\/h3>\n<p>1.  <strong>Yedekleme:<\/strong> Herhangi bir Nginx konfig\u00fcrasyon de\u011fi\u015fikli\u011fi yapmadan \u00f6nce, <code>\/etc\/nginx\/<\/code> dizininin bir yede\u011fini al\u0131n.<br \/>\n    <code>sudo cp -r \/etc\/nginx \/etc\/nginx_backup_$(date +%Y%m%d%H%M%S)<\/code><br \/>\n2.  <strong>Test Etme:<\/strong> Konfig\u00fcrasyon dosyalar\u0131n\u0131zda de\u011fi\u015fiklik yapt\u0131ktan sonra, Nginx&#8217;in s\u00f6zdizimini kontrol etmek i\u00e7in <code>sudo nginx -t<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n. Herhangi bir hata varsa d\u00fczeltin.<br \/>\n3.  <strong>Yeniden Y\u00fckleme:<\/strong> Konfig\u00fcrasyonunuz hatas\u0131zsa, Nginx&#8217;i yeniden y\u00fckleyerek de\u011fi\u015fiklikleri uygulay\u0131n:<br \/>\n    <code>sudo systemctl reload nginx<\/code> veya <code>sudo service nginx reload<\/code><br \/>\n4.  <strong>\u0130zleme:<\/strong> De\u011fi\u015fikliklerin etkilerini PageSpeed Insights, GTmetrix, WebPageTest gibi ara\u00e7larla ve Nginx eri\u015fim loglar\u0131n\u0131 izleyerek takip edin. Sunucu kaynak t\u00fcketimini (CPU, RAM) de g\u00f6zlemleyin.<br \/>\n5.  <strong>Ubuntu 16.04 \u00d6zel Notlar\u0131:<\/strong><br \/>\n    *   <strong>Nginx S\u00fcr\u00fcm\u00fc:<\/strong> Ubuntu 16.04&#8217;\u00fcn varsay\u0131lan Nginx s\u00fcr\u00fcm\u00fc (genellikle 1.10.x), baz\u0131 modern \u00f6zelliklere (\u00f6rne\u011fin TLSv1.3, Brotli&#8217;nin resmi Nginx mod\u00fcl\u00fc) sahip olmayabilir. Bu \u00f6zelliklerden tam olarak yararlanmak i\u00e7in, Nginx&#8217;in resmi PPA&#8217;s\u0131ndan daha yeni bir s\u00fcr\u00fcm y\u00fcklemeyi veya Nginx&#8217;i kaynak koddan derlemeyi d\u00fc\u015f\u00fcnebilirsiniz.<br \/>\n        *   Nginx PPA ekleme \u00f6rne\u011fi: <code>sudo add-apt-repository ppa:nginx\/stable && sudo apt update && sudo apt install nginx<\/code><br \/>\n    *   <strong>OpenSSL S\u00fcr\u00fcm\u00fc:<\/strong> TLSv1.3 protokol\u00fc, OpenSSL 1.1.1 veya daha yeni bir s\u00fcr\u00fcm gerektirir. Ubuntu 16.04&#8217;\u00fcn varsay\u0131lan OpenSSL s\u00fcr\u00fcm\u00fc 1.0.2&#8217;dir. TLSv1.3 kullanmak istiyorsan\u0131z, OpenSSL&#8217;i manuel olarak derlemeniz veya daha yeni bir Ubuntu s\u00fcr\u00fcm\u00fcne y\u00fckseltmeyi d\u00fc\u015f\u00fcnmeniz gerekebilir. Bu, daha karma\u015f\u0131k bir i\u015flemdir ve dikkatli yap\u0131lmal\u0131d\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Nginx, esnek ve y\u00fcksek performansl\u0131 mimarisi sayesinde web sitenizin PageSpeed puan\u0131n\u0131 art\u0131rmak i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. GZIP\/Brotli s\u0131k\u0131\u015ft\u0131rma, taray\u0131c\u0131 \u00f6nbellekleme, HTTP\/2 kullan\u0131m\u0131, SSL\/TLS optimizasyonu, Keepalive ba\u011flant\u0131lar\u0131, worker s\u00fcre\u00e7leri ve ters proxy \u00f6nbellekleme gibi konfig\u00fcrasyon ayarlar\u0131yla web sitenizin y\u00fckleme h\u0131z\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirebilirsiniz.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki PageSpeed optimizasyonu s\u00fcrekli bir s\u00fcre\u00e7tir. Yap\u0131lan de\u011fi\u015fikliklerin etkilerini d\u00fczenli olarak izlemek, yeni teknolojileri takip etmek ve konfig\u00fcrasyonlar\u0131 ihtiya\u00e7lar\u0131n\u0131za g\u00f6re ayarlamak en iyi sonu\u00e7lar\u0131 verecektir. Bu makalede belirtilen ad\u0131mlar\u0131 uygulayarak Ubuntu 16.04 \u00fczerindeki Nginx sunucunuzun performans\u0131n\u0131 art\u0131rabilir ve ziyaret\u00e7ilerinize daha iyi bir web deneyimi sunabilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131\nWeb performans\u0131, modern internet d\u00fcnyas\u0131nda kullan\u0131c\u0131 den","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-30358","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 Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131 - 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-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131\" \/>\n<meta property=\"og:description\" content=\"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131 Web performans\u0131, modern internet d\u00fcnyas\u0131nda kullan\u0131c\u0131 den\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-26T18:41:14+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=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131\",\"datePublished\":\"2025-09-26T18:41:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/\"},\"wordCount\":2445,\"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-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/\",\"name\":\"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-26T18:41:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131\"}]},{\"@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 Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131 - 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-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/","og_locale":"tr_TR","og_type":"article","og_title":"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131","og_description":"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131 Web performans\u0131, modern internet d\u00fcnyas\u0131nda kullan\u0131c\u0131 den","og_url":"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-26T18:41:14+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131","datePublished":"2025-09-26T18:41:14+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/"},"wordCount":2445,"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-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/","url":"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/","name":"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-26T18:41:14+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-konfigurasyonu-ile-ubuntu-16-04-uzerinde-pagespeed-puanini-artirma-yollari\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Nginx Konfig\u00fcrasyonu ile Ubuntu 16.04 \u00dczerinde PageSpeed Puan\u0131n\u0131 Art\u0131rma Yollar\u0131"}]},{"@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\/30358","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=30358"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30358\/revisions"}],"predecessor-version":[{"id":30359,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30358\/revisions\/30359"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=30358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=30358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=30358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}