{"id":3520,"date":"2025-12-27T19:46:41","date_gmt":"2025-12-27T16:46:41","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/nginx-reverse-proxy-ve-basit-load-balancer-kurulumu-kucuk-projeler-icin-uygulamali-rehber\/"},"modified":"2025-12-27T19:46:41","modified_gmt":"2025-12-27T16:46:41","slug":"nginx-reverse-proxy-ve-basit-load-balancer-kurulumu-kucuk-projeler-icin-uygulamali-rehber","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/nginx-reverse-proxy-ve-basit-load-balancer-kurulumu-kucuk-projeler-icin-uygulamali-rehber\/","title":{"rendered":"Nginx Reverse Proxy ve Basit Load Balancer Kurulumu: K\u00fc\u00e7\u00fck Projeler \u0130\u00e7in Uygulamal\u0131 Rehber"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><p>K\u00fc\u00e7\u00fck bir SaaS uygulamas\u0131, yeni a\u00e7\u0131lan bir e\u2011ticaret projesi veya mikroservis mimarisine ge\u00e7mek isteyen bir ekip\u2026 Ortak sorun genellikle ayn\u0131: Tek sunucuda her \u015fey g\u00fczel giderken trafik artmaya ba\u015flar, baz\u0131 saatlerde istekler y\u0131\u011f\u0131l\u0131r, uygulama yan\u0131t s\u00fcreleri uzar ve hangi noktadan sonra mimariyi b\u00fcy\u00fctmeniz gerekti\u011fi net de\u011fildir. Tam bu noktada <strong>Nginx reverse proxy<\/strong> ve basit bir <strong>load balancer (y\u00fck dengeleyici)<\/strong> mimarisi, k\u00fc\u00e7\u00fck projeler i\u00e7in hem y\u00f6netilebilir hem de ekonomik bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<p>Bu yaz\u0131da DCHost ekibi olarak, s\u0131k kulland\u0131\u011f\u0131m\u0131z pratik bir modeli ad\u0131m ad\u0131m anlataca\u011f\u0131z: \u00d6nde bir Nginx reverse proxy, arkada bir veya birka\u00e7 uygulama sunucusu. Ama\u00e7; SSL sonland\u0131rma, gzip\/Brotli s\u0131k\u0131\u015ft\u0131rma, statik i\u00e7erik sunumu, basit load balancing ve temel sa\u011fl\u0131k kontrollerini tek bir yerde toplamak. Komut seviyesinde, dosya yollar\u0131na kadar inen, ger\u00e7ekten uygulayabilece\u011finiz bir rehber haz\u0131rlad\u0131k. Elinizde bir DCHost <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a> veya <a href=\"https:\/\/www.dchost.com\/tr\/fiziksel-sunucu\">dedicated sunucu<\/a> olmas\u0131 yeterli; geri kalan\u0131 bu yaz\u0131da birlikte kuraca\u011f\u0131z.<\/p>\n<div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Nginx_Reverse_Proxy_ve_Load_Balancer_Temelleri\"><span class=\"toc_number toc_depth_1\">1<\/span> Nginx Reverse Proxy ve Load Balancer Temelleri<\/a><\/li><li><a href=\"#Kucuk_Projeler_Icin_Bu_Mimari_Neden_Mantikli\"><span class=\"toc_number toc_depth_1\">2<\/span> K\u00fc\u00e7\u00fck Projeler \u0130\u00e7in Bu Mimari Neden Mant\u0131kl\u0131?<\/a><\/li><li><a href=\"#Hedef_Mimari_1_Reverse_Proxy_2_Uygulama_Sunucusu\"><span class=\"toc_number toc_depth_1\">3<\/span> Hedef Mimari: 1 Reverse Proxy + 2 Uygulama Sunucusu<\/a><ul><li><a href=\"#Ornek_Kullanim_Senaryosu\"><span class=\"toc_number toc_depth_2\">3.1<\/span> \u00d6rnek Kullan\u0131m Senaryosu<\/a><\/li><\/ul><\/li><li><a href=\"#On_Hazirlik_Sunucu_DNS_ve_Guvenlik\"><span class=\"toc_number toc_depth_1\">4<\/span> \u00d6n Haz\u0131rl\u0131k: Sunucu, DNS ve G\u00fcvenlik<\/a><ul><li><a href=\"#1_Sunuculari_Hazirlayin\"><span class=\"toc_number toc_depth_2\">4.1<\/span> 1. Sunucular\u0131 Haz\u0131rlay\u0131n<\/a><\/li><li><a href=\"#2_DNS_Yapilandirmasi\"><span class=\"toc_number toc_depth_2\">4.2<\/span> 2. DNS Yap\u0131land\u0131rmas\u0131<\/a><\/li><li><a href=\"#3_Guvenlik_Duvari_Firewall_Ayarlari\"><span class=\"toc_number toc_depth_2\">4.3<\/span> 3. G\u00fcvenlik Duvar\u0131 (Firewall) Ayarlar\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#Nginx_Reverse_Proxy_Kurulumu_Adim_Adim\"><span class=\"toc_number toc_depth_1\">5<\/span> Nginx Reverse Proxy Kurulumu: Ad\u0131m Ad\u0131m<\/a><ul><li><a href=\"#1_Nginx_Kurulumu\"><span class=\"toc_number toc_depth_2\">5.1<\/span> 1. Nginx Kurulumu<\/a><\/li><li><a href=\"#2_Basit_Reverse_Proxy_Konfigurasyonu\"><span class=\"toc_number toc_depth_2\">5.2<\/span> 2. Basit Reverse Proxy Konfig\u00fcrasyonu<\/a><\/li><\/ul><\/li><li><a href=\"#Basit_Load_Balancer_Nginx_Upstream_Yapilandirmasi\"><span class=\"toc_number toc_depth_1\">6<\/span> Basit Load Balancer: Nginx Upstream Yap\u0131land\u0131rmas\u0131<\/a><ul><li><a href=\"#1_Upstream_Blogu_ile_Baslayalim\"><span class=\"toc_number toc_depth_2\">6.1<\/span> 1. Upstream Blo\u011fu ile Ba\u015flayal\u0131m<\/a><\/li><li><a href=\"#2_Server_Blogunu_Upstream_ile_Eslestirme\"><span class=\"toc_number toc_depth_2\">6.2<\/span> 2. Server Blo\u011funu Upstream ile E\u015fle\u015ftirme<\/a><\/li><li><a href=\"#3_Farkli_Load_Balancing_Algoritmalari\"><span class=\"toc_number toc_depth_2\">6.3<\/span> 3. Farkl\u0131 Load Balancing Algoritmalar\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#SSL_HTTP2_ve_Guvenlik_Katmani\"><span class=\"toc_number toc_depth_1\">7<\/span> SSL, HTTP\/2 ve G\u00fcvenlik Katman\u0131<\/a><ul><li><a href=\"#1_SSL_sertifikasi_ve_HTTPS_Zorunlulugu\"><span class=\"toc_number toc_depth_2\">7.1<\/span> 1. SSL sertifikas\u0131 ve HTTPS Zorunlulu\u011fu<\/a><\/li><li><a href=\"#2_HTTP_Guvenlik_Basliklari\"><span class=\"toc_number toc_depth_2\">7.2<\/span> 2. HTTP G\u00fcvenlik Ba\u015fl\u0131klar\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#Statik_Dosyalar_ve_Onbellekleme\"><span class=\"toc_number toc_depth_1\">8<\/span> Statik Dosyalar ve \u00d6nbellekleme<\/a><ul><li><a href=\"#1_Statik_Icerikleri_Nginxten_Sunmak\"><span class=\"toc_number toc_depth_2\">8.1<\/span> 1. Statik \u0130\u00e7erikleri Nginx\u2019ten Sunmak<\/a><\/li><li><a href=\"#2_Mikro_Onbellekleme_ile_Dinamik_Sayfalari_Hizlandirmak\"><span class=\"toc_number toc_depth_2\">8.2<\/span> 2. Mikro \u00d6nbellekleme ile Dinamik Sayfalar\u0131 H\u0131zland\u0131rmak<\/a><\/li><\/ul><\/li><li><a href=\"#Loglama_Izleme_ve_Sorun_Giderme\"><span class=\"toc_number toc_depth_1\">9<\/span> Loglama, \u0130zleme ve Sorun Giderme<\/a><ul><li><a href=\"#1_Nginx_Access_ve_Error_Loglari\"><span class=\"toc_number toc_depth_2\">9.1<\/span> 1. Nginx Access ve Error Loglar\u0131<\/a><\/li><li><a href=\"#2_Kaynak_Kullanimi_ve_Alarmlar\"><span class=\"toc_number toc_depth_2\">9.2<\/span> 2. Kaynak Kullan\u0131m\u0131 ve Alarmlar<\/a><\/li><\/ul><\/li><li><a href=\"#Canliya_Alma_Deploy_ve_Sifira_Yakin_Kesinti\"><span class=\"toc_number toc_depth_1\">10<\/span> Canl\u0131ya Alma, Deploy ve S\u0131f\u0131ra Yak\u0131n Kesinti<\/a><\/li><li><a href=\"#Operasyonel_Ipuclari_Kucuk_Ekipler_Icin_Pratikler\"><span class=\"toc_number toc_depth_1\">11<\/span> Operasyonel \u0130pu\u00e7lar\u0131: K\u00fc\u00e7\u00fck Ekipler \u0130\u00e7in Pratikler<\/a><\/li><li><a href=\"#Ne_Zaman_Daha_Karmasik_Bir_MimarIye_Gecmelisiniz\"><span class=\"toc_number toc_depth_1\">12<\/span> Ne Zaman Daha Karma\u015f\u0131k Bir Mimar\u0130ye Ge\u00e7melisiniz?<\/a><\/li><li><a href=\"#Sonuc_ve_Onerilen_Yol_Haritasi\"><span class=\"toc_number toc_depth_1\">13<\/span> Sonu\u00e7 ve \u00d6nerilen Yol Haritas\u0131<\/a><\/li><\/ul><\/div>\n<h2><span id=\"Nginx_Reverse_Proxy_ve_Load_Balancer_Temelleri\">Nginx Reverse Proxy ve Load Balancer Temelleri<\/span><\/h2>\n<p>\u00d6nce kavramlar\u0131 netle\u015ftirelim. <strong>Reverse proxy<\/strong>, istemcilerden (taray\u0131c\u0131, mobil uygulama, API client) gelen istekleri kar\u015f\u0131layan ve bu istekleri arka u\u00e7taki (backend) sunuculara y\u00f6nlendiren bir katmand\u0131r. \u0130stemci ger\u00e7ek uygulama sunucular\u0131n\u0131n IP\u2019lerini bilmez; sadece reverse proxy ile konu\u015fur.<\/p>\n<p><strong>Load balancer<\/strong> ise birden fazla backend sunucunuz varsa, gelen trafi\u011fi bu sunucular aras\u0131nda payla\u015ft\u0131r\u0131r. Nginx, HTTP katman\u0131nda (L7) hem reverse proxy hem de basit load balancer rol\u00fcn\u00fc ayn\u0131 anda \u00fcstlenebilir. Yani ekstra bir \u00fcr\u00fcn veya karma\u015f\u0131k bir yaz\u0131l\u0131ma ge\u00e7meden, tek Nginx ile:<\/p>\n<ul>\n<li>SSL sonland\u0131rma (HTTPS terminasyon)<\/li>\n<li>HTTP\/2\/HTTP\/3 deste\u011fi<\/li>\n<li>Statik dosyalar\u0131 do\u011frudan sunma<\/li>\n<li>Uygulama sunucular\u0131na reverse proxy<\/li>\n<li>Round robin, <code>least_conn<\/code> gibi basit y\u00fck dengeleme algoritmalar\u0131<\/li>\n<li>Temel hata tolerans\u0131 (sunucu d\u00fc\u015ferse otomatik di\u011ferine y\u00f6nlendirme)<\/li>\n<\/ul>\n<p>Bu yaz\u0131da Nginx\u2019in L7 taraf\u0131n\u0131 kullanaca\u011f\u0131z. E\u011fer daha sonra L4 seviyesi (TCP\/UDP) y\u00fck dengeleme, TLS passthrough gibi ihtiya\u00e7lar\u0131n\u0131z olursa, <a href=\"https:\/\/www.dchost.com\/blog\/haproxy-ile-l4-l7-yuk-dengeleme-nasil-sifir-kesinti-sunar-health-check-sticky-sessions-ve-tls-passthroughu-sade-sade-konusalim\">HAProxy ile L4\/L7 y\u00fck dengeleme rehberimize<\/a> de g\u00f6z atabilirsiniz.<\/p>\n<h2><span id=\"Kucuk_Projeler_Icin_Bu_Mimari_Neden_Mantikli\">K\u00fc\u00e7\u00fck Projeler \u0130\u00e7in Bu Mimari Neden Mant\u0131kl\u0131?<\/span><\/h2>\n<p>Tek VPS\u2019te her \u015feyi (web sunucu, veritaban\u0131, queue i\u015fleri, cron\u2019lar) ko\u015fturmak ba\u015flang\u0131\u00e7 i\u00e7in idealdir. Ancak zamanla \u015fu sorunlar ortaya \u00e7\u0131kabilir:<\/p>\n<ul>\n<li>Yo\u011fun saatlerde CPU ve RAM ayn\u0131 makinede t\u0131kan\u0131r.<\/li>\n<li>Uygulamay\u0131 yeni s\u00fcr\u00fcme ge\u00e7irirken k\u0131sa da olsa kesinti ya\u015fan\u0131r.<\/li>\n<li>Node.js, PHP, belki Python gibi birden fazla runtime ayn\u0131 makinede kar\u0131\u015f\u0131kl\u0131k yarat\u0131r.<\/li>\n<\/ul>\n<p>\u00d6n tarafa bir Nginx reverse proxy koyup arka tarafa bir veya iki uygulama sunucusu ekledi\u011finizde:<\/p>\n<ul>\n<li>Uygulamay\u0131 yeni s\u00fcr\u00fcme al\u0131rken \u00f6nce arka u\u00e7ta deploy yap\u0131p, sonra Nginx taraf\u0131nda y\u00f6nlendirmeyi de\u011fi\u015ftirebilirsiniz.<\/li>\n<li>Gerekirse ikinci bir uygulama VPS\u2019i ekleyip <strong>basit round robin load balancing<\/strong> ile trafi\u011fi b\u00f6l\u00fc\u015febilirsiniz.<\/li>\n<li>Statik dosyalar\u0131 (CSS, JS, g\u00f6rseller) Nginx\u2019ten direkt sunup, uygulama sunucular\u0131n\u0131n y\u00fck\u00fcn\u00fc azaltabilirsiniz.<\/li>\n<\/ul>\n<p>K\u00fc\u00e7\u00fck SaaS\u2019ler, ajanslar\u0131n y\u00f6netti\u011fi \u00e7ok m\u00fc\u015fterili WordPress\/Laravel projeleri veya hafif mikroservis ortamlar\u0131 i\u00e7in bu model son derece pratiktir. Daha kapsaml\u0131 mimariler i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/kucuk-saas-uygulamalari-icin-en-dogru-hosting-mimarisi-tek-vps-coklu-vps-ve-yonetilen-bulut\">k\u00fc\u00e7\u00fck SaaS uygulamalar\u0131 i\u00e7in mimari rehberimizi<\/a> de inceleyebilirsiniz.<\/p>\n<h2><span id=\"Hedef_Mimari_1_Reverse_Proxy_2_Uygulama_Sunucusu\">Hedef Mimari: 1 Reverse Proxy + 2 Uygulama Sunucusu<\/span><\/h2>\n<p>Bu rehberde a\u015fa\u011f\u0131daki basit mimariyi kurdu\u011funuzu varsayal\u0131m:<\/p>\n<ul>\n<li><strong>proxy.example.com<\/strong> \u2013 DCHost \u00fczerinde \u00e7al\u0131\u015fan Nginx reverse proxy (genel IP bu sunucuda)<\/li>\n<li><strong>app1.internal<\/strong> \u2013 Uygulama sunucusu 1 (PHP\/Laravel, Node.js veya ba\u015fka bir stack)<\/li>\n<li><strong>app2.internal<\/strong> \u2013 Uygulama sunucusu 2 (ayn\u0131 uygulaman\u0131n ikinci kopyas\u0131)<\/li>\n<\/ul>\n<p>DNS taraf\u0131nda <code>www.example.com<\/code> ve <code>api.example.com<\/code> gibi alan adlar\u0131n\u0131z, <strong>sadece Nginx reverse proxy<\/strong> sunucusunun IP\u2019sine i\u015faret eder. Uygulama sunucular\u0131 do\u011frudan internete a\u00e7\u0131lmak zorunda de\u011fildir; m\u00fcmk\u00fcnse sadece \u00f6zel a\u011f (private network) veya firewall ile k\u0131s\u0131tl\u0131 IP eri\u015fimi ile korunmal\u0131d\u0131r.<\/p>\n<h3><span id=\"Ornek_Kullanim_Senaryosu\">\u00d6rnek Kullan\u0131m Senaryosu<\/span><\/h3>\n<p>Diyelim ki Laravel tabanl\u0131 bir e\u2011ticaret siteniz var. Uygulama kodu Laravel, arka planda queue i\u015fleri var, veritaban\u0131 ayr\u0131 bir VPS\u2019te. Siz bu rehberde kuraca\u011f\u0131m\u0131z Nginx reverse proxy:<\/p>\n<ul>\n<li>T\u00fcm HTTPS trafi\u011fini kabul etsin,<\/li>\n<li>Statik dosyalar\u0131 (CSS\/JS\/img) kendisi sunsun,<\/li>\n<li>Uygulama isteklerini <code>app1<\/code> ve <code>app2<\/code> aras\u0131nda dengelesin,<\/li>\n<li>Uygulama sunucular\u0131ndan biri cevap vermezse otomatik di\u011ferine ge\u00e7sin,<\/li>\n<li>\u0130leride <strong>Nginx mikro \u00f6nbellekleme<\/strong> ile sayfalar\u0131 1\u20135 saniyelik cache\u2019leyebilsin.<\/li>\n<\/ul>\n<p>Mikro \u00f6nbellekleme taraf\u0131na derinle\u015fmek isterseniz, detayl\u0131 kural \u00f6rnekleri i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/nginx-mikro-onbellekleme-ile-php-uygulamalarini-ucurmak-1-5-sn-cache-bypass-ve-purge-ne-zaman-nasil\">Nginx mikro \u00f6nbellekleme rehberimize<\/a> bakabilirsiniz.<\/p>\n<h2><span id=\"On_Hazirlik_Sunucu_DNS_ve_Guvenlik\">\u00d6n Haz\u0131rl\u0131k: Sunucu, DNS ve G\u00fcvenlik<\/span><\/h2>\n<h3><span id=\"1_Sunuculari_Hazirlayin\">1. Sunucular\u0131 Haz\u0131rlay\u0131n<\/span><\/h3>\n<p>Minimumda ihtiyac\u0131n\u0131z olanlar:<\/p>\n<ul>\n<li>1 adet DCHost VPS veya dedicated sunucu: Nginx reverse proxy<\/li>\n<li>1\u20132 adet DCHost VPS: Uygulama sunucular\u0131<\/li>\n<\/ul>\n<p>Da\u011f\u0131t\u0131m olarak Ubuntu 22.04 LTS veya Debian 12 gibi g\u00fcncel bir Linux da\u011f\u0131t\u0131m\u0131n\u0131 \u00f6neriyoruz. Yeni bir VPS a\u00e7\u0131yorsan\u0131z, temel hardening ad\u0131mlar\u0131n\u0131 atlamay\u0131n; bunun i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/yeni-vpste-ilk-24-saat-guncelleme-guvenlik-duvari-ve-kullanici-hesaplari\">yeni VPS\u2019te ilk 24 saat rehberini<\/a> ad\u0131m ad\u0131m uygulayabilirsiniz.<\/p>\n<h3><span id=\"2_DNS_Yapilandirmasi\">2. DNS Yap\u0131land\u0131rmas\u0131<\/span><\/h3>\n<p>Alan ad\u0131n\u0131z\u0131n DNS y\u00f6netim panelinde:<\/p>\n<ul>\n<li><code>example.com<\/code> ve <code>www.example.com<\/code> i\u00e7in A\/AAAA kay\u0131tlar\u0131n\u0131 <strong>Nginx proxy<\/strong> sunucusunun IP\u2019sine y\u00f6nlendirin.<\/li>\n<li>Alt alanlar (\u00f6rne\u011fin <code>api.example.com<\/code>) da yine proxy IP\u2019sine gitmeli.<\/li>\n<\/ul>\n<p>Uygulama sunucular\u0131n\u0131n DNS kay\u0131tlar\u0131 (\u00f6rn. <code>app1.internal<\/code>) public olmak zorunda de\u011fil; \/etc\/hosts veya \u00f6zel DNS ile de \u00e7\u00f6z\u00fcmleyebilirsiniz. \u00d6nemli olan, reverse proxy sunucusunun bu adresleri \u00e7\u00f6zebiliyor olmas\u0131.<\/p>\n<h3><span id=\"3_Guvenlik_Duvari_Firewall_Ayarlari\">3. G\u00fcvenlik Duvar\u0131 (Firewall) Ayarlar\u0131<\/span><\/h3>\n<p>Proxy sunucusunda d\u0131\u015far\u0131ya sadece 80 ve 443 portlar\u0131n\u0131 a\u00e7\u0131n. Uygulama sunucular\u0131nda ise m\u00fcmk\u00fcnse sadece:<\/p>\n<ul>\n<li>22 (SSH) \u2013 Sadece y\u00f6netim i\u00e7in, IP k\u0131s\u0131tlamas\u0131 \u00f6nerilir<\/li>\n<li>Uygulaman\u0131n dinledi\u011fi port (\u00f6rne\u011fin 127.0.0.1:9000, 127.0.0.1:8000 veya 0.0.0.0:8080), sadece proxy sunucusunun IP\u2019sine a\u00e7\u0131k olmal\u0131<\/li>\n<\/ul>\n<p>G\u00fcvenlik duvar\u0131 taraf\u0131nda daha detayl\u0131 ipu\u00e7lar\u0131 i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/vps-sunucularda-guvenlik-duvari-yapilandirma-ufw-firewalld-ve-iptables\">VPS g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rma rehberimize<\/a> g\u00f6z atabilirsiniz.<\/p>\n<h2><span id=\"Nginx_Reverse_Proxy_Kurulumu_Adim_Adim\">Nginx Reverse Proxy Kurulumu: Ad\u0131m Ad\u0131m<\/span><\/h2>\n<h3><span id=\"1_Nginx_Kurulumu\">1. Nginx Kurulumu<\/span><\/h3>\n<p>Proxy sunucusunda a\u015fa\u011f\u0131daki komutlarla Nginx\u2019i kural\u0131m (Ubuntu\/Debian):<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo apt update\nsudo apt install nginx -y\n<\/code><\/pre>\n<p>Kurulumdan sonra servis durumunu kontrol edin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo systemctl status nginx\n<\/code><\/pre>\n<p>Taray\u0131c\u0131n\u0131zdan sunucu IP\u2019sine gitti\u011finizde Nginx\u2019in varsay\u0131lan kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3><span id=\"2_Basit_Reverse_Proxy_Konfigurasyonu\">2. Basit Reverse Proxy Konfig\u00fcrasyonu<\/span><\/h3>\n<p>\u00d6nce tek uygulama sunucusuna reverse proxy yaparak ba\u015flayal\u0131m. Varsayal\u0131m ki uygulama sunucunuzun i\u00e7 IP\u2019si <code>10.0.0.11<\/code> ve uygulama 8000 portunda dinliyor.<\/p>\n<p>Proxy sunucusunda yeni bir site dosyas\u0131 olu\u015fturun:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/example.com.conf\n<\/code><\/pre>\n<p>\u0130\u00e7ine \u015fu iskeleti ekleyin:<\/p>\n<pre class=\"language-nginx line-numbers\"><code class=\"language-nginx\">server {\n    listen 80;\n    server_name example.com www.example.com;\n\n    location \/ {\n        proxy_pass http:\/\/10.0.0.11:8000;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n<\/code><\/pre>\n<p>Siteyi etkinle\u015ftirin ve Nginx\u2019i test edip yeniden ba\u015flat\u0131n:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/example.com.conf \n  \/etc\/nginx\/sites-enabled\/example.com.conf\n\nsudo nginx -t\nsudo systemctl reload nginx\n<\/code><\/pre>\n<p>Art\u0131k <code>example.com<\/code> alan ad\u0131n\u0131za gelen t\u00fcm HTTP istekleri, <code>10.0.0.11:8000<\/code> \u00fczerindeki uygulama sunucusuna y\u00f6nlenecek.<\/p>\n<h2><span id=\"Basit_Load_Balancer_Nginx_Upstream_Yapilandirmasi\">Basit Load Balancer: Nginx Upstream Yap\u0131land\u0131rmas\u0131<\/span><\/h2>\n<h3><span id=\"1_Upstream_Blogu_ile_Baslayalim\">1. Upstream Blo\u011fu ile Ba\u015flayal\u0131m<\/span><\/h3>\n<p>\u015eimdi ikinci bir uygulama sunucusu ekleyelim: <code>10.0.0.12:8000<\/code>. Nginx\u2019te <code>upstream<\/code> blo\u011fu tan\u0131mlayarak bu iki backend\u2019i tek bir isim alt\u0131nda toplayaca\u011f\u0131z.<\/p>\n<p>Proxy sunucusunda <code>\/etc\/nginx\/conf.d\/upstreams.conf<\/code> dosyas\u0131n\u0131 olu\u015ftural\u0131m:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo nano \/etc\/nginx\/conf.d\/upstreams.conf\n<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">upstream app_backend {\n    # Varsay\u0131lan: round robin\n    server 10.0.0.11:8000 max_fails=3 fail_timeout=30s;\n    server 10.0.0.12:8000 max_fails=3 fail_timeout=30s;\n}\n<\/code><\/pre>\n<p>Bu tan\u0131m ile Nginx gelen istekleri s\u0131rayla 10.0.0.11 ve 10.0.0.12\u2019ye g\u00f6nderir. Bir sunucu art arda 3 kez hata verirse (5xx veya timeout), 30 saniye boyunca devre d\u0131\u015f\u0131 say\u0131l\u0131r.<\/p>\n<h3><span id=\"2_Server_Blogunu_Upstream_ile_Eslestirme\">2. Server Blo\u011funu Upstream ile E\u015fle\u015ftirme<\/span><\/h3>\n<p>\u015eimdi <code>example.com.conf<\/code> i\u00e7indeki <code>proxy_pass<\/code> sat\u0131r\u0131n\u0131 upstream ismine \u00e7evirelim:<\/p>\n<pre class=\"language-nginx line-numbers\"><code class=\"language-nginx\">server {\n    listen 80;\n    server_name example.com www.example.com;\n\n    location \/ {\n        proxy_pass http:\/\/app_backend;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n<\/code><\/pre>\n<p>Kaydedin, ard\u0131ndan:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo nginx -t\nsudo systemctl reload nginx\n<\/code><\/pre>\n<p>Art\u0131k istekleriniz iki uygulama sunucusu aras\u0131nda otomatik olarak payla\u015ft\u0131r\u0131l\u0131yor. Basit ama olduk\u00e7a etkili bir load balancing elde etmi\u015f oldunuz.<\/p>\n<h3><span id=\"3_Farkli_Load_Balancing_Algoritmalari\">3. Farkl\u0131 Load Balancing Algoritmalar\u0131<\/span><\/h3>\n<p>Nginx\u2019in birka\u00e7 temel algoritmas\u0131 var:<\/p>\n<ul>\n<li><strong>Round robin<\/strong> (varsay\u0131lan): \u0130stekleri s\u0131rayla da\u011f\u0131t\u0131r.<\/li>\n<li><strong>least_conn<\/strong>: En az aktif ba\u011flant\u0131s\u0131 olan sunucuya y\u00f6nlendirir.<\/li>\n<li><strong>ip_hash<\/strong>: Ayn\u0131 IP\u2019den gelen istekleri ayn\u0131 backend\u2019e y\u00f6nlendirir (basit sticky session).<\/li>\n<\/ul>\n<p>\u00d6rne\u011fin yo\u011fun trafi\u011finiz varsa ve ba\u011flant\u0131 say\u0131lar\u0131 aras\u0131nda fark olu\u015fuyorsa <code>least_conn<\/code> kullan\u0131labilir:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">upstream app_backend {\n    least_conn;\n    server 10.0.0.11:8000 max_fails=3 fail_timeout=30s;\n    server 10.0.0.12:8000 max_fails=3 fail_timeout=30s;\n}\n<\/code><\/pre>\n<p>Oturumun ayn\u0131 sunucuda kalmas\u0131 kritikse (\u00f6rne\u011fin sunucu tarafl\u0131 session kullanan eski bir uygulama) <code>ip_hash<\/code> d\u00fc\u015f\u00fcnebilirsiniz; fakat g\u00fcncel uygulamalarda genellikle <strong>payla\u015f\u0131ml\u0131 session store<\/strong> (Redis vb.) kullanmak daha s\u00fcrd\u00fcr\u00fclebilirdir.<\/p>\n<h2><span id=\"SSL_HTTP2_ve_Guvenlik_Katmani\">SSL, HTTP\/2 ve G\u00fcvenlik Katman\u0131<\/span><\/h2>\n<h3><span id=\"1_SSL_sertifikasi_ve_HTTPS_Zorunlulugu\">1. <a href=\"https:\/\/www.dchost.com\/tr\/ssl\">SSL sertifikas\u0131<\/a> ve HTTPS Zorunlulu\u011fu<\/span><\/h3>\n<p>Public bir sitede reverse proxy daima HTTPS konu\u015fmal\u0131d\u0131r. Sertifikalar\u0131 genellikle <strong>proxy sunucusunda sonland\u0131rman\u0131z<\/strong> en pratik yakla\u015f\u0131md\u0131r. Sertifikay\u0131 ald\u0131ktan sonra server blo\u011funu \u015fu \u015fekilde g\u00fcncelleyebilirsiniz:<\/p>\n<pre class=\"language-nginx line-numbers\"><code class=\"language-nginx\">server {\n    listen 80;\n    server_name example.com www.example.com;\n    return 301 https:\/\/$host$request_uri;\n}\n\nserver {\n    listen 443 ssl http2;\n    server_name example.com www.example.com;\n\n    ssl_certificate     \/etc\/ssl\/certs\/example.com.fullchain.pem;\n    ssl_certificate_key \/etc\/ssl\/private\/example.com.key;\n\n    # G\u00fc\u00e7l\u00fc TLS ayarlar\u0131\n    ssl_protocols TLSv1.2 TLSv1.3;\n    ssl_prefer_server_ciphers on;\n\n    location \/ {\n        proxy_pass http:\/\/app_backend;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n<\/code><\/pre>\n<p>Modern ve g\u00fcvenli bir TLS yap\u0131land\u0131rmas\u0131 i\u00e7in, \u00f6rnek cipher setleri, OCSP Stapling ve Brotli gibi ek ayarlar konusunda <a href=\"https:\/\/www.dchost.com\/blog\/nginxte-tls-1-3-ocsp-stapling-ve-brotli-nasil-kurulur-hizli-ve-guvenli-httpsnin-sicacik-rehberi\">Nginx \u00fczerinde TLS 1.3 ve Brotli kurulumu rehberimizi<\/a> mutlaka incelemenizi \u00f6neririz.<\/p>\n<h3><span id=\"2_HTTP_Guvenlik_Basliklari\">2. HTTP G\u00fcvenlik Ba\u015fl\u0131klar\u0131<\/span><\/h3>\n<p>Reverse proxy katman\u0131, g\u00fcvenlik ba\u015fl\u0131klar\u0131n\u0131 merkezi olarak y\u00f6netmek i\u00e7in ideal bir yer. \u00d6rne\u011fin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">add_header X-Content-Type-Options nosniff;\nadd_header X-Frame-Options SAMEORIGIN;\nadd_header X-XSS-Protection &quot;1; mode=block&quot;;\n<\/code><\/pre>\n<p>Daha ileri seviyede HSTS, CSP gibi ba\u015fl\u0131klar\u0131 uygularken dikkatli olmak gerekir; yanl\u0131\u015f konfig\u00fcrasyon frontendu bozabilir. Bu konuda genel prensipleri anlamak i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/http-guvenlik-basliklari-rehberi-hsts-csp-x-frame-options-ve-referrer-policy-dogru-nasil-kurulur\">HTTP g\u00fcvenlik ba\u015fl\u0131klar\u0131 rehberimize<\/a> g\u00f6z atabilirsiniz.<\/p>\n<h2><span id=\"Statik_Dosyalar_ve_Onbellekleme\">Statik Dosyalar ve \u00d6nbellekleme<\/span><\/h2>\n<h3><span id=\"1_Statik_Icerikleri_Nginxten_Sunmak\">1. Statik \u0130\u00e7erikleri Nginx\u2019ten Sunmak<\/span><\/h3>\n<p>\u00d6zellikle PHP veya Node.js tabanl\u0131 uygulamalarda, statik dosyalar\u0131 Nginx\u2019in do\u011frudan sunmas\u0131 b\u00fcy\u00fck performans kazanc\u0131 sa\u011flar. \u00d6rne\u011fin Laravel projelerinde <code>\/public<\/code> klas\u00f6r\u00fcn\u00fc proxyle birle\u015ftirebilirsiniz:<\/p>\n<pre class=\"language-nginx line-numbers\"><code class=\"language-nginx\">server {\n    listen 443 ssl http2;\n    server_name example.com www.example.com;\n\n    root \/var\/www\/example.com\/public;\n\n    location \/ {\n        try_files $uri @app;\n    }\n\n    location @app {\n        proxy_pass http:\/\/app_backend;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n\n    location ~* .(css|js|jpg|jpeg|png|gif|ico|webp|avif)$ {\n        expires 30d;\n        add_header Cache-Control &quot;public, max-age=2592000&quot;;\n    }\n}\n<\/code><\/pre>\n<p>Bu sayede CSS, JS ve g\u00f6rseller uygulama sunucusuna u\u011framadan Nginx \u00fczerinden servis edilir.<\/p>\n<h3><span id=\"2_Mikro_Onbellekleme_ile_Dinamik_Sayfalari_Hizlandirmak\">2. Mikro \u00d6nbellekleme ile Dinamik Sayfalar\u0131 H\u0131zland\u0131rmak<\/span><\/h3>\n<p>Yo\u011fun okunma trafi\u011fi olan, ancak \u00e7ok s\u0131k de\u011fi\u015fmeyen sayfalarda (blog, \u00fcr\u00fcn listeleme vb.) <strong>1\u20135 saniyelik mikro \u00f6nbellek<\/strong> kullanmak muazzam performans art\u0131\u015f\u0131 sa\u011flar. Nginx\u2019in <code>proxy_cache<\/code> \u00f6zelli\u011fiyle bunu reverse proxy katman\u0131nda y\u00f6netebilirsiniz. Detayl\u0131 bir uygulama ve purge stratejileri i\u00e7in tekrar <a href=\"https:\/\/www.dchost.com\/blog\/nginx-mikro-onbellekleme-ile-php-uygulamalarini-ucurmak-1-5-sn-cache-bypass-ve-purge-ne-zaman-nasil\">Nginx mikro \u00f6nbellekleme rehberine<\/a> ba\u015fvurabilirsiniz.<\/p>\n<h2><span id=\"Loglama_Izleme_ve_Sorun_Giderme\">Loglama, \u0130zleme ve Sorun Giderme<\/span><\/h2>\n<h3><span id=\"1_Nginx_Access_ve_Error_Loglari\">1. Nginx Access ve Error Loglar\u0131<\/span><\/h3>\n<p>Reverse proxy katman\u0131, t\u00fcm trafi\u011fin ge\u00e7ti\u011fi yer oldu\u011fu i\u00e7in loglar\u0131n\u0131z\u0131n merkezi noktas\u0131d\u0131r. Varsay\u0131lan olarak:<\/p>\n<ul>\n<li><code>\/var\/log\/nginx\/access.log<\/code> \u2013 T\u00fcm istekler<\/li>\n<li><code>\/var\/log\/nginx\/error.log<\/code> \u2013 Nginx hatalar\u0131<\/li>\n<\/ul>\n<p>\u00d6zellikle 4xx\u20135xx hata oranlar\u0131n\u0131z\u0131 okumay\u0131 \u00f6\u011frenmek, performans ve hata ay\u0131klama a\u00e7\u0131s\u0131ndan kritiktir. Bunun i\u00e7in hem Apache hem de Nginx \u00f6rnekleriyle anlatt\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/hosting-sunucu-loglarini-okumayi-ogrenin-apache-ve-nginx-ile-4xx-5xx-hatalarini-teshis-rehberi\">sunucu loglar\u0131n\u0131 okuma rehberimize<\/a> bakabilirsiniz.<\/p>\n<h3><span id=\"2_Kaynak_Kullanimi_ve_Alarmlar\">2. Kaynak Kullan\u0131m\u0131 ve Alarmlar<\/span><\/h3>\n<p>Reverse proxy genellikle \u00e7ok a\u011f\u0131r y\u00fck alt\u0131nda kalmaz; ancak trafik artt\u0131k\u00e7a CPU, bellek ve network kullan\u0131m\u0131n\u0131 izlemeniz gerekir. DCHost \u00fczerindeki VPS veya dedicated sunucunuzda Prometheus + Grafana, Netdata gibi \u00e7\u00f6z\u00fcmlerle ayr\u0131nt\u0131l\u0131 metrik toplayabilirsiniz. \u00d6zellikle:<\/p>\n<ul>\n<li>CPU kullan\u0131m\u0131 (y\u00fcksek pikler)<\/li>\n<li>Load average<\/li>\n<li>Network throughput (Mbit\/s)<\/li>\n<li>Disk I\/O (log yaz\u0131m\u0131 i\u00e7in)<\/li>\n<\/ul>\n<p>Ad\u0131m ad\u0131m metrik ve alarm kurgulamak i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/vps-izleme-ve-uyari-nasil-kurulur-prometheus-grafana-ve-node-exporter-ile-sessiz-alarmlari-konusturmak\">VPS izleme ve uyar\u0131 kurulum rehberimizi<\/a> kullanabilirsiniz.<\/p>\n<h2><span id=\"Canliya_Alma_Deploy_ve_Sifira_Yakin_Kesinti\">Canl\u0131ya Alma, Deploy ve S\u0131f\u0131ra Yak\u0131n Kesinti<\/span><\/h2>\n<p>Nginx reverse proxy kullanman\u0131n en keyifli yanlar\u0131ndan biri de <strong>deploy stratejilerini<\/strong> esnek hale getirmesidir. \u00d6rne\u011fin yeni bir s\u00fcr\u00fcm\u00fc \u00f6nce <code>app2<\/code> sunucusuna deploy edip, Nginx upstream konfig\u00fcrasyonunu kademeli olarak de\u011fi\u015ftirebilirsiniz:<\/p>\n<ul>\n<li>\u00d6nce <code>weight<\/code> ile <code>app2<\/code>\u2019ye az trafikten ba\u015flay\u0131n.<\/li>\n<li>Hata oranlar\u0131 ve performans iyi ise yava\u015f yava\u015f a\u011f\u0131rl\u0131\u011f\u0131 art\u0131r\u0131n.<\/li>\n<li>Her \u015fey yolundaysa <code>app1<\/code>\u2019i de g\u00fcncelleyin.<\/li>\n<\/ul>\n<p>Daha ileri seviye i\u00e7in Nginx ile canary deployment ve a\u011f\u0131rl\u0131kl\u0131 y\u00f6nlendirme konular\u0131n\u0131 anlatt\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/vpste-canary-dagitimi-nasil-tatli-tatli-kurulur-nginx-agirlikli-yonlendirme-saglik-kontrolu-ve-guvenli-rollback\">canary da\u011f\u0131t\u0131m\u0131 rehberine<\/a> de g\u00f6z atabilirsiniz.<\/p>\n<h2><span id=\"Operasyonel_Ipuclari_Kucuk_Ekipler_Icin_Pratikler\">Operasyonel \u0130pu\u00e7lar\u0131: K\u00fc\u00e7\u00fck Ekipler \u0130\u00e7in Pratikler<\/span><\/h2>\n<ul>\n<li><strong>Konfig\u00fcrasyon y\u00f6netimi:<\/strong> Nginx ayar dosyalar\u0131n\u0131 Git ile versiyonlay\u0131n, de\u011fi\u015fiklikleri stage \u2192 prod hatt\u0131yla y\u00f6netin.<\/li>\n<li><strong>Eri\u015fim kontrol\u00fc:<\/strong> Sadece gerekli ki\u015filere SSH eri\u015fimi verin, parolal\u0131 giri\u015fleri kapat\u0131p SSH anahtarlar\u0131n\u0131 kullan\u0131n. K\u00fc\u00e7\u00fck ekipler i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/ssh-anahtar-yonetimi-ve-yetki-paylasimi-kucuk-ekipler-icin-guvenli-vps-erisimi\">SSH anahtar y\u00f6netimi rehberi<\/a> burada \u00e7ok i\u015finize yarar.<\/li>\n<li><strong>Yedekler:<\/strong> Nginx konfig\u00fcrasyonlar\u0131n\u0131, <code>\/etc\/nginx<\/code> dizinini ve SSL anahtarlar\u0131n\u0131 d\u00fczenli olarak yedekleyin. Sunucu de\u011fi\u015fimlerinde dakikalar i\u00e7inde geri d\u00f6nmek m\u00fcmk\u00fcn olur.<\/li>\n<li><strong>Ortam ayr\u0131m\u0131:<\/strong> Geli\u015ftirme, staging ve prod ortamlar\u0131n\u0131 DNS ve Nginx konfig\u00fcrasyonlar\u0131yla net ay\u0131r\u0131n (\u00f6rn. <code>staging.example.com<\/code>).<\/li>\n<\/ul>\n<h2><span id=\"Ne_Zaman_Daha_Karmasik_Bir_MimarIye_Gecmelisiniz\">Ne Zaman Daha Karma\u015f\u0131k Bir Mimar\u0130ye Ge\u00e7melisiniz?<\/span><\/h2>\n<p>Nginx reverse proxy + basit load balancer modeli, uzun s\u00fcre idare eder. Ancak \u015fu i\u015faretleri g\u00f6rmeye ba\u015flad\u0131\u011f\u0131n\u0131zda s\u0131radaki ad\u0131mlar\u0131 d\u00fc\u015f\u00fcnmenin zaman\u0131 gelmi\u015ftir:<\/p>\n<ul>\n<li>Tek proxy sunucusu CPU veya network a\u00e7\u0131s\u0131ndan t\u0131kanmaya ba\u015fl\u0131yorsa,<\/li>\n<li>Birden \u00e7ok lokasyona (region) yay\u0131lmak istiyorsan\u0131z,<\/li>\n<li>TCP seviyesinde (L4) load balancing veya TLS passthrough ihtiyac\u0131n\u0131z olu\u015ftuysa,<\/li>\n<li>Otomatik \u00f6l\u00e7eklenen (auto-scaling) bir altyap\u0131ya ge\u00e7mek istiyorsan\u0131z.<\/li>\n<\/ul>\n<p>Bu durumda Nginx\u2019i edge katman\u0131nda tutup arkas\u0131na <strong>HAProxy, Kubernetes, k3s<\/strong> gibi sistemler eklemek mant\u0131kl\u0131 olabilir. DCHost olarak hem \u00e7oklu VPS mimarileri hem de dedicated\/colocation altyap\u0131lar\u0131nda bu tip senaryolar\u0131 s\u0131k\u00e7a tasarl\u0131yoruz; ihtiyac\u0131n\u0131z oldu\u011funda teknik ekibimizle planlama yapabilirsiniz.<\/p>\n<h2><span id=\"Sonuc_ve_Onerilen_Yol_Haritasi\">Sonu\u00e7 ve \u00d6nerilen Yol Haritas\u0131<\/span><\/h2>\n<p>Nginx reverse proxy ve basit load balancer mimarisi, k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli projeler i\u00e7in olduk\u00e7a g\u00fc\u00e7l\u00fc bir kald\u0131ra\u00e7t\u0131r. Tek bir sunucuda her \u015feyi ko\u015fturmaktan bir ad\u0131m \u00f6teye ge\u00e7erek:<\/p>\n<ul>\n<li>SSL, HTTP\/2 ve g\u00fcvenlik ba\u015fl\u0131klar\u0131n\u0131 merkezi noktada y\u00f6netebilir,<\/li>\n<li>Birden fazla uygulama sunucusuna trafi\u011fi dengeli da\u011f\u0131tabilir,<\/li>\n<li>Statik dosya ve mikro \u00f6nbellekleme ile ciddi performans kazan\u0131m\u0131 sa\u011flayabilir,<\/li>\n<li>Deploy s\u00fcre\u00e7lerinizi daha kontroll\u00fc, neredeyse kesintisiz hale getirebilirsiniz.<\/li>\n<\/ul>\n<p>\u0130lk ad\u0131mda tek bir DCHost VPS \u00fczerinde Nginx reverse proxy\u2019yi kurup, ard\u0131ndan ikinci bir uygulama VPS\u2019i ekleyerek upstream mant\u0131\u011f\u0131n\u0131 devreye alman\u0131z\u0131 \u00f6neriyoruz. Trafi\u011finiz ve i\u015f y\u00fck\u00fcn\u00fcz b\u00fcy\u00fcd\u00fck\u00e7e, izleme ve alarm sistemleriyle (Prometheus, Grafana vb.) mimarinizi g\u00f6zlemleyin; darbo\u011faz olu\u015fan noktalar\u0131 tespit ettik\u00e7e yeni sunucular veya daha geli\u015fmi\u015f load balancing \u00e7\u00f6z\u00fcmleriyle \u00f6l\u00e7eklendirin.<\/p>\n<p>E\u011fer mevcut sitenizi veya uygulaman\u0131z\u0131 bu yap\u0131ya ta\u015f\u0131mak istiyorsan\u0131z, DCHost destek ekibi olarak kapasite planlama, uygun VPS\/dedicated se\u00e7imi ve Nginx mimarisinin tasar\u0131m\u0131 konusunda sizinle birlikte ad\u0131m ad\u0131m bir plan \u00e7\u0131kartabiliriz. \u0130yi tasarlanm\u0131\u015f k\u00fc\u00e7\u00fck bir mimari, uzun vadede b\u00fcy\u00fck ve karma\u015f\u0131k sistemlere ge\u00e7erken en sa\u011flam dayana\u011f\u0131n\u0131z olacakt\u0131r.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>K\u00fc\u00e7\u00fck bir SaaS uygulamas\u0131, yeni a\u00e7\u0131lan bir e\u2011ticaret projesi veya mikroservis mimarisine ge\u00e7mek isteyen bir ekip\u2026 Ortak sorun genellikle ayn\u0131: Tek sunucuda her \u015fey g\u00fczel giderken trafik artmaya ba\u015flar, baz\u0131 saatlerde istekler y\u0131\u011f\u0131l\u0131r, uygulama yan\u0131t s\u00fcreleri uzar ve hangi noktadan sonra mimariyi b\u00fcy\u00fctmeniz gerekti\u011fi net de\u011fildir. Tam bu noktada Nginx reverse proxy ve basit bir [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3521,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-3520","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=3520"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3520\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/3521"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=3520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=3520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=3520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}