{"id":33688,"date":"2025-11-05T23:40:57","date_gmt":"2025-11-05T20:40:57","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=33688"},"modified":"2025-11-05T23:40:57","modified_gmt":"2025-11-05T20:40:57","slug":"haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/","title":{"rendered":"HAProxy&#8217;yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma"},"content":{"rendered":"<p><body><\/p>\n<h2>HAProxy&#8217;yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda web siteleri, i\u015fletmeler ve bireyler i\u00e7in vazge\u00e7ilmez ileti\u015fim ve etkile\u015fim ara\u00e7lar\u0131 haline gelmi\u015ftir. Bu web sitelerinin \u00f6nemli bir k\u0131sm\u0131, kullan\u0131c\u0131 dostu aray\u00fcz\u00fc ve geni\u015f eklenti ekosistemi sayesinde WordPress altyap\u0131s\u0131n\u0131 kullanmaktad\u0131r. WordPress&#8217;in pop\u00fclaritesi artt\u0131k\u00e7a, y\u00fcksek trafik hacimlerini y\u00f6netme, kesintisiz hizmet sunma ve \u00f6l\u00e7eklenebilirlik sa\u011flama ihtiyac\u0131 da beraberinde gelmektedir. Tek bir sunucu \u00fczerinde \u00e7al\u0131\u015fan bir WordPress sitesi, belirli bir trafik e\u015fi\u011fini a\u015ft\u0131\u011f\u0131nda performans sorunlar\u0131 ya\u015famaya ba\u015flayabilir, hatta tamamen eri\u015filemez hale gelebilir. Bu noktada, y\u00fck dengeleme (load balancing) \u00e7\u00f6z\u00fcmleri devreye girer.<\/p>\n<p>Y\u00fck dengeleme, gelen a\u011f trafi\u011fini birden fazla sunucu aras\u0131nda da\u011f\u0131tarak tek bir sunucunun a\u015f\u0131r\u0131 y\u00fcklenmesini \u00f6nleyen, b\u00f6ylece uygulama performans\u0131n\u0131, eri\u015filebilirli\u011fini ve hata tolerans\u0131n\u0131 art\u0131ran kritik bir teknolojidir. HAProxy (High Availability Proxy), bu alanda en \u00e7ok tercih edilen a\u00e7\u0131k kaynakl\u0131 \u00e7\u00f6z\u00fcmlerden biridir. Hem Katman 4 (Ta\u015f\u0131ma Katman\u0131) hem de Katman 7 (Uygulama Katman\u0131) seviyesinde y\u00fck dengeleme yapabilen HAProxy, esnekli\u011fi, y\u00fcksek performans\u0131 ve kararl\u0131l\u0131\u011f\u0131 ile bilinir. Bu makalede, HAProxy&#8217;yi \u00f6zellikle WordPress uygulama sunucular\u0131 i\u00e7in Katman 4 y\u00fck dengeleyici olarak Ubuntu 14.04 i\u015fletim sistemi \u00fczerinde nas\u0131l yap\u0131land\u0131raca\u011f\u0131m\u0131z\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz. Ubuntu 14.04 eski bir s\u00fcr\u00fcm olmas\u0131na ra\u011fmen, bu senaryo belirli eski altyap\u0131larla \u00e7al\u0131\u015fan sistem y\u00f6neticileri i\u00e7in faydal\u0131 olabilir ve temel HAProxy prensiplerini anlamak i\u00e7in iyi bir ba\u015flang\u0131\u00e7 noktas\u0131 sunar.<\/p>\n<h3>Y\u00fck Dengeleme Kavramlar\u0131 ve Neden Katman 4?<\/h3>\n<h4>Y\u00fck Dengeleme Nedir?<\/h4>\n<p>Y\u00fck dengeleme, bir dizi sunucuya gelen istemci isteklerini da\u011f\u0131tma i\u015flemidir. Bu i\u015flem, i\u015f y\u00fck\u00fcn\u00fc sunucular aras\u0131nda e\u015fit bir \u015fekilde b\u00f6lerek her sunucunun optimum performansla \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, bir sunucu ar\u0131zaland\u0131\u011f\u0131nda trafi\u011fi otomatik olarak sa\u011fl\u0131kl\u0131 sunuculara y\u00f6nlendirerek hizmet kesintisini \u00f6nler ve sistemin genel eri\u015filebilirli\u011fini art\u0131r\u0131r. Y\u00fck dengeleyiciler, genellikle belirli algoritmalar kullanarak trafi\u011fi da\u011f\u0131t\u0131r (\u00f6rne\u011fin, round-robin, en az ba\u011flant\u0131, kaynak IP tabanl\u0131).<\/p>\n<h4>Katman 4 (Ta\u015f\u0131ma Katman\u0131) ve Katman 7 (Uygulama Katman\u0131) Farklar\u0131<\/h4>\n<p>A\u011f ileti\u015fimi, OSI modeline g\u00f6re farkl\u0131 katmanlarda ger\u00e7ekle\u015fir. Y\u00fck dengeleyiciler genellikle Katman 4 veya Katman 7&#8217;de \u00e7al\u0131\u015f\u0131r:<\/p>\n<p>*   <strong>Katman 4 Y\u00fck Dengeleme (TCP\/UDP):<\/strong> Bu seviyede y\u00fck dengeleyici, yaln\u0131zca IP adresi ve port numaras\u0131 gibi ta\u015f\u0131ma katman\u0131 bilgilerine bakar. Gelen TCP veya UDP ba\u011flant\u0131lar\u0131n\u0131 arka u\u00e7 sunucular\u0131na iletir. Paketin i\u00e7eri\u011fini (HTTP ba\u015fl\u0131klar\u0131, URL, \u00e7erezler vb.) incelemez. Bu, daha basit ve daha h\u0131zl\u0131 bir y\u00fck dengeleme y\u00f6ntemidir \u00e7\u00fcnk\u00fc daha az i\u015flem g\u00fcc\u00fc gerektirir.<br \/>\n*   <strong>Katman 7 Y\u00fck Dengeleme (HTTP\/HTTPS):<\/strong> Bu seviyede y\u00fck dengeleyici, uygulaman\u0131n i\u00e7eri\u011fini (HTTP ba\u015fl\u0131klar\u0131, URL, \u00e7erezler, oturum bilgileri vb.) inceleyebilir ve bu bilgilere g\u00f6re trafi\u011fi y\u00f6nlendirebilir. \u00d6rne\u011fin, belirli bir URL&#8217;ye gelen istekleri farkl\u0131 sunucu gruplar\u0131na y\u00f6nlendirebilir veya \u00e7erezlere dayal\u0131 oturum kal\u0131c\u0131l\u0131\u011f\u0131 sa\u011flayabilir. Bu daha esnek ancak daha karma\u015f\u0131k ve i\u015flem g\u00fcc\u00fc gerektiren bir y\u00f6ntemdir.<\/p>\n<h4>WordPress i\u00e7in Neden Katman 4 Y\u00fck Dengeleme?<\/h4>\n<p>WordPress uygulamalar\u0131 i\u00e7in Katman 4 y\u00fck dengeleme, bir\u00e7ok senaryoda olduk\u00e7a avantajl\u0131d\u0131r:<\/p>\n<p>1.  <strong>Performans ve Kaynak Verimlili\u011fi:<\/strong> Katman 4 y\u00fck dengeleyiciler, paketin i\u00e7eri\u011fini incelemedikleri i\u00e7in daha az CPU ve RAM kullan\u0131r. Bu, \u00f6zellikle y\u00fcksek trafikli ortamlarda \u00f6nemli bir performans avantaj\u0131 sa\u011flar.<br \/>\n2.  <strong>Basitlik:<\/strong> Yap\u0131land\u0131rmas\u0131 Katman 7&#8217;ye g\u00f6re daha basittir. Temel olarak gelen ba\u011flant\u0131lar\u0131 belirli portlar \u00fczerinden arka u\u00e7 sunucular\u0131na y\u00f6nlendirir.<br \/>\n3.  <strong>SSL\/TLS Y\u00f6netimi:<\/strong> Katman 4&#8217;te SSL sonland\u0131rma genellikle uygulama sunucular\u0131nda veya ayr\u0131 bir SSL proxy&#8217;sinde yap\u0131l\u0131r. Bu, HAProxy&#8217;nin SSL sertifikalar\u0131n\u0131 y\u00f6netme y\u00fck\u00fcnden kurtulmas\u0131n\u0131 sa\u011flar. E\u011fer SSL sonland\u0131rmay\u0131 HAProxy&#8217;de yapmak istersek, Katman 7 moduna ge\u00e7memiz gerekir. Ancak bu makalede Katman 4&#8217;e odaklanaca\u011f\u0131z ve SSL&#8217;in web sunucular\u0131nda sonland\u0131r\u0131ld\u0131\u011f\u0131n\u0131 varsayaca\u011f\u0131z.<br \/>\n4.  <strong>Genel Ama\u00e7l\u0131l\u0131k:<\/strong> Sadece HTTP trafi\u011fi i\u00e7in de\u011fil, herhangi bir TCP tabanl\u0131 servis i\u00e7in kullan\u0131labilir. WordPress i\u00e7in HTTP (port 80) ve HTTPS (port 443) trafi\u011fini y\u00f6nlendirmek i\u00e7in idealdir.<br \/>\n5.  <strong>WordPress Mimarisi:<\/strong> WordPress, genellikle veritaban\u0131 tabanl\u0131 oturum y\u00f6netimi kulland\u0131\u011f\u0131 veya oturum kal\u0131c\u0131l\u0131\u011f\u0131 gerektirmeyen bir yap\u0131ya sahip oldu\u011fu i\u00e7in, Katman 4&#8217;\u00fcn sundu\u011fu IP tabanl\u0131 oturum kal\u0131c\u0131l\u0131\u011f\u0131 (e\u011fer gerekirse) veya basit round-robin da\u011f\u0131t\u0131m\u0131 \u00e7o\u011fu durumda yeterlidir.<\/p>\n<h3>HAProxy&#8217;nin Tan\u0131t\u0131m\u0131 ve Temel \u00d6zellikleri<\/h3>\n<p>HAProxy, a\u00e7\u0131k kaynakl\u0131, y\u00fcksek performansl\u0131 ve g\u00fcvenilir bir TCP\/HTTP y\u00fck dengeleyici ve proxy sunucusudur. Genellikle y\u00fcksek trafikli web siteleri ve uygulamalar i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h4>Temel \u0130\u015flevleri:<\/h4>\n<p>*   <strong>Y\u00fck Dengeleme Algoritmalar\u0131:<\/strong> Gelen trafi\u011fi da\u011f\u0131tmak i\u00e7in \u00e7e\u015fitli algoritmalar sunar (round-robin, leastconn, source, static-rr vb.).<br \/>\n*   <strong>Sa\u011fl\u0131k Kontrolleri (Health Checks):<\/strong> Arka u\u00e7 sunucular\u0131n\u0131n durumunu periyodik olarak kontrol eder. Bir sunucu ar\u0131zaland\u0131\u011f\u0131nda veya sa\u011fl\u0131ks\u0131z hale geldi\u011finde, trafi\u011fi o sunucuya y\u00f6nlendirmeyi durdurur ve sa\u011fl\u0131kl\u0131 sunuculara y\u00f6nlendirir. Sunucu tekrar sa\u011fl\u0131\u011f\u0131na kavu\u015ftu\u011funda, trafi\u011fi tekrar almaya ba\u015flar.<br \/>\n*   <strong>Oturum Kal\u0131c\u0131l\u0131\u011f\u0131 (Session Persistence\/Affinity):<\/strong> Belirli bir istemciden gelen isteklerin her zaman ayn\u0131 arka u\u00e7 sunucusuna y\u00f6nlendirilmesini sa\u011flar. Katman 4&#8217;te genellikle kaynak IP adresine dayal\u0131 olarak yap\u0131l\u0131r.<br \/>\n*   <strong>Y\u00fcksek Eri\u015filebilirlik (Failover):<\/strong> Birincil sunucunun ba\u015far\u0131s\u0131z olmas\u0131 durumunda trafi\u011fi otomatik olarak yedek sunuculara y\u00f6nlendirir.<\/p>\n<p>HAProxy, WordPress gibi dinamik web uygulamalar\u0131 i\u00e7in ideal bir \u00e7\u00f6z\u00fcmd\u00fcr \u00e7\u00fcnk\u00fc y\u00fcksek trafik alt\u0131nda bile h\u0131zl\u0131 ve kararl\u0131 bir \u015fekilde \u00e7al\u0131\u015fabilir, uygulama sunucular\u0131n\u0131n \u00f6l\u00e7eklenmesine olanak tan\u0131r ve tek nokta hatas\u0131n\u0131 \u00f6nler.<\/p>\n<h3>Sistem Mimarisi ve \u00d6n Ko\u015fullar<\/h3>\n<p>Bu kurulum i\u00e7in a\u015fa\u011f\u0131daki mimariyi hedefliyoruz:<\/p>\n<h4>Mimarinin \u015eematik G\u00f6r\u00fcn\u00fcm\u00fc:<\/h4>\n<pre><code class=\"language-\">Kullan\u0131c\u0131 (\u0130stemci)\n      |\n      V\nHAProxy Y\u00fck Dengeleyici (Ubuntu 14.04)\n(Public IP: 192.168.1.100, Port 80\/443)\n      |\n      |-----> WordPress Uygulama Sunucusu 1 (Nginx\/Apache + PHP-FPM)\n      |       (Private IP: 192.168.1.101, Port 80)\n      |\n      |-----> WordPress Uygulama Sunucusu 2 (Nginx\/Apache + PHP-FPM)\n      |       (Private IP: 192.168.1.102, Port 80)\n      |\n      V\nVeritaban\u0131 Sunucusu (MySQL\/MariaDB)\n(Private IP: 192.168.1.103, Port 3306)<\/code><\/pre>\n<p><strong>Not:<\/strong> Bu mimaride, veritaban\u0131 sunucusunun ayr\u0131 bir makinede olmas\u0131 en iyi uygulamad\u0131r. Ayr\u0131ca, WordPress uygulama sunucular\u0131n\u0131n <code>wp-content<\/code> klas\u00f6r\u00fc gibi payla\u015f\u0131ml\u0131 dosyalar\u0131 senkronize etmesi veya payla\u015f\u0131ml\u0131 bir depolama \u00e7\u00f6z\u00fcm\u00fc kullanmas\u0131 gerekmektedir.<\/p>\n<h4>Gereksinimler:<\/h4>\n<p>1.  <strong>Sunucular:<\/strong><br \/>\n    *   <strong>HAProxy Sunucusu:<\/strong> 1 adet Ubuntu 14.04 sunucusu. Statik bir genel IP adresine sahip olmal\u0131 ve arka u\u00e7 sunucular\u0131na \u00f6zel a\u011f \u00fczerinden eri\u015febilmelidir.<br \/>\n    *   <strong>WordPress Uygulama Sunucular\u0131:<\/strong> En az 2 adet Ubuntu 14.04 sunucusu. Her biri Nginx (veya Apache), PHP-FPM ve MySQL istemcisi kurulu olmal\u0131d\u0131r. Kendi \u00f6zel IP adreslerine sahip olmal\u0131d\u0131rlar.<br \/>\n    *   <strong>Veritaban\u0131 Sunucusu:<\/strong> 1 adet Ubuntu 14.04 sunucusu (veya ba\u015fka bir i\u015fletim sistemi). MySQL veya MariaDB kurulu olmal\u0131 ve WordPress sunucular\u0131ndan eri\u015filebilir olmal\u0131d\u0131r.<br \/>\n2.  <strong>A\u011f Yap\u0131land\u0131rmas\u0131:<\/strong><br \/>\n    *   T\u00fcm sunucular\u0131n birbirleriyle \u00f6zel a\u011f \u00fczerinden ileti\u015fim kurabilmesi i\u00e7in uygun a\u011f yap\u0131land\u0131rmas\u0131 (ayn\u0131 alt a\u011fda veya y\u00f6nlendirilmi\u015f).<br \/>\n    *   G\u00fcvenlik duvar\u0131 kurallar\u0131: HAProxy sunucusunun 80 (veya 443) portundan gelen genel trafi\u011fe izin vermesi ve arka u\u00e7 WordPress sunucular\u0131n\u0131n 80 (veya 443) portuna eri\u015febilmesi.<br \/>\n    *   WordPress sunucular\u0131n\u0131n veritaban\u0131 sunucusunun 3306 portuna eri\u015febilmesi.<br \/>\n3.  <strong>WordPress Kurulumu:<\/strong> Her bir uygulama sunucusunda ayn\u0131 WordPress s\u00fcr\u00fcm\u00fc kurulu ve ayn\u0131 veritaban\u0131na ba\u011fl\u0131 olmal\u0131d\u0131r. <code>wp-config.php<\/code> dosyas\u0131 do\u011fru veritaban\u0131 ba\u011flant\u0131 bilgilerini i\u00e7ermelidir.<br \/>\n4.  <strong>Payla\u015f\u0131ml\u0131 Depolama:<\/strong> WordPress&#8217;in <code>wp-content<\/code> dizini (y\u00fcklemeler, temalar, eklentiler) t\u00fcm uygulama sunucular\u0131 aras\u0131nda senkronize olmal\u0131d\u0131r. Bunun i\u00e7in NFS, GlusterFS gibi payla\u015f\u0131ml\u0131 dosya sistemleri veya rsync ile manuel\/otomatik senkronizasyon kullan\u0131labilir. Bu makalede, basitle\u015ftirmek ad\u0131na dosyalar\u0131n manuel olarak kopyaland\u0131\u011f\u0131n\u0131 veya bir senkronizasyon mekanizmas\u0131n\u0131n mevcut oldu\u011funu varsayaca\u011f\u0131z.<\/p>\n<h3>WordPress Uygulama Sunucular\u0131n\u0131n Haz\u0131rlanmas\u0131<\/h3>\n<p>Her bir WordPress uygulama sunucusunda (\u00f6rn: <code>web1<\/code> ve <code>web2<\/code>) a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulay\u0131n:<\/p>\n<h4>1. Sistem G\u00fcncellemesi ve Temel Ba\u011f\u0131ml\u0131l\u0131klar:<\/h4>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get upgrade -y\nsudo apt-get install -y nginx php5-fpm php5-mysql php5-gd php5-curl php5-xmlrpc php5-intl mysql-client<\/code><\/pre>\n<p>(Veya Apache kullan\u0131yorsan\u0131z <code>apache2<\/code> ve <code>libapache2-mod-php5<\/code> kurun.)<\/p>\n<h4>2. Nginx ve PHP-FPM Yap\u0131land\u0131rmas\u0131:<\/h4>\n<p>Nginx&#8217;in WordPress i\u00e7in do\u011fru \u015fekilde yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olun.<br \/>\n<code>\/etc\/nginx\/sites-available\/wordpress<\/code> dosyas\u0131 olu\u015fturun (veya varsay\u0131lan\u0131 d\u00fczenleyin):<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    root \/var\/www\/html\/wordpress; # WordPress dosyalar\u0131n\u0131n yolu\n    index index.php index.html index.htm;\n\n    server_name your_domain.com; # HAProxy'nin public IP'si veya alan ad\u0131\n\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$args;\n    }\n\n    location ~ \\.php$ {\n        include snippets\/fastcgi-php.conf;\n        fastcgi_pass unix:\/var\/run\/php5-fpm.sock; # PHP-FPM soketi\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    # Statik dosyalar i\u00e7in \u00f6nbellekleme\n    location ~* \\.(jpg|jpeg|gif|png|css|js|ico)$ {\n        expires max;\n        log_not_found off;\n    }\n\n    # G\u00fcvenlik i\u00e7in WordPress config dosyalar\u0131n\u0131 gizle\n    location ~ \/\\.ht {\n        deny all;\n    }\n}<\/code><\/pre>\n<p>Yap\u0131land\u0131rmay\u0131 etkinle\u015ftirin ve Nginx&#8217;i yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/wordpress \/etc\/nginx\/sites-enabled\/\nsudo rm \/etc\/nginx\/sites-enabled\/default # Varsay\u0131lan yap\u0131land\u0131rmay\u0131 kald\u0131r\nsudo service nginx restart\nsudo service php5-fpm restart<\/code><\/pre>\n<h4>3. WordPress Kurulumu:<\/h4>\n<p>Her iki sunucuya da WordPress&#8217;i kurun.<\/p>\n<pre><code class=\"language-bash\">cd \/var\/www\/html\nsudo wget https:\/\/wordpress.org\/latest.tar.gz\nsudo tar -xvzf latest.tar.gz\nsudo chown -R www-data:www-data \/var\/www\/html\/wordpress\nsudo chmod -R 755 \/var\/www\/html\/wordpress<\/code><\/pre>\n<p><code>wp-config.php<\/code> dosyas\u0131n\u0131 olu\u015fturun ve veritaban\u0131 ba\u011flant\u0131 bilgilerini girin:<\/p>\n<pre><code class=\"language-php\"><?php\ndefine('DB_NAME', 'wordpress_db');\ndefine('DB_USER', 'wordpress_user');\ndefine('DB_PASSWORD', 'your_db_password');\ndefine('DB_HOST', '192.168.1.103'); \/\/ Veritaban\u0131 sunucusunun IP adresi\ndefine('DB_CHARSET', 'utf8');\ndefine('DB_COLLATE', '');\n\n\/\/ ... Di\u011fer WordPress tan\u0131mlamalar\u0131 ...\n\ndefine('WP_HOME', 'http:\/\/your_domain.com'); \/\/ HAProxy'nin public IP'si veya alan ad\u0131\ndefine('WP_SITEURL', 'http:\/\/your_domain.com');\n\n\/\/ ... Geri kalan wp-config.php i\u00e7eri\u011fi ...\n?><\/code><\/pre>\n<p><strong>\u00d6nemli:<\/strong> <code>WP_HOME<\/code> ve <code>WP_SITEURL<\/code> tan\u0131mlamalar\u0131n\u0131 HAProxy&#8217;nin eri\u015filebilir oldu\u011fu alan ad\u0131n\u0131z veya IP adresinizle g\u00fcncellemeyi unutmay\u0131n. Bu, WordPress&#8217;in do\u011fru URL&#8217;leri \u00fcretmesini sa\u011flar.<\/p>\n<h4>4. Veritaban\u0131 Kurulumu (Veritaban\u0131 Sunucusunda):<\/h4>\n<p>Veritaban\u0131 sunucusunda MySQL\/MariaDB kurun ve WordPress i\u00e7in bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015fturun.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y mysql-server\nsudo mysql_secure_installation # G\u00fcvenlik ayarlar\u0131n\u0131 yap\u0131n<\/code><\/pre>\n<p>MySQL&#8217;e ba\u011flan\u0131n ve veritaban\u0131n\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;\nGRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'%' IDENTIFIED BY 'your_db_password';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n<p><code>'%'<\/code> yerine WordPress sunucular\u0131n\u0131n IP adreslerini (<code>192.168.1.101<\/code>, <code>192.168.1.102<\/code>) kullanarak daha g\u00fcvenli bir eri\u015fim sa\u011flayabilirsiniz.<\/p>\n<h4>5. Payla\u015f\u0131ml\u0131 Dosya Sistemi (wp-content):<\/h4>\n<p>Bu, \u00e7oklu WordPress sunucusu kurulumunda en kritik ad\u0131mlardan biridir. <code>wp-content<\/code> klas\u00f6r\u00fc (temalar, eklentiler, y\u00fcklemeler) t\u00fcm sunucularda ayn\u0131 olmal\u0131d\u0131r.<br \/>\n*   <strong>Basit Senkronizasyon (rsync):<\/strong> Geli\u015ftirme veya d\u00fc\u015f\u00fck trafikli ortamlar i\u00e7in <code>rsync<\/code> ile periyodik senkronizasyon yap\u0131labilir.<br \/>\n*   <strong>NFS (Network File System):<\/strong> <code>wp-content<\/code> dizinini bir NFS sunucusunda bar\u0131nd\u0131r\u0131p t\u00fcm WordPress sunucular\u0131na ba\u011flayabilirsiniz.<br \/>\n*   <strong>GlusterFS \/ Ceph:<\/strong> Y\u00fcksek performans ve \u00f6l\u00e7eklenebilirlik gerektiren durumlar i\u00e7in da\u011f\u0131t\u0131k dosya sistemleri kullan\u0131labilir.<br \/>\n*   <strong>AWS EFS \/ Azure Files:<\/strong> Bulut ortamlar\u0131nda y\u00f6netilen payla\u015f\u0131ml\u0131 dosya sistemleri.<\/p>\n<p>Bu makalede, bu konuyu detayland\u0131rmadan, <code>wp-content<\/code> dizininin t\u00fcm sunucular aras\u0131nda senkronize edildi\u011fini varsayaca\u011f\u0131z.<\/p>\n<p>Her iki WordPress sunucusunun da kendi IP adresleri \u00fczerinden eri\u015filebilir ve \u00e7al\u0131\u015f\u0131r durumda oldu\u011funu test edin.<\/p>\n<h3>HAProxy Kurulumu ve Temel Yap\u0131land\u0131rma (Ubuntu 14.04)<\/h3>\n<p>\u015eimdi HAProxy sunucusuna ge\u00e7elim.<\/p>\n<h4>1. HAProxy Kurulumu:<\/h4>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get install -y haproxy<\/code><\/pre>\n<p>Kurulumdan sonra HAProxy servisi otomatik olarak ba\u015flayabilir.<\/p>\n<h4>2. HAProxy Servis Y\u00f6netimi:<\/h4>\n<p>*   Ba\u015flatma: <code>sudo service haproxy start<\/code><br \/>\n*   Durdurma: <code>sudo service haproxy stop<\/code><br \/>\n*   Yeniden Ba\u015flatma: <code>sudo service haproxy restart<\/code><br \/>\n*   Yeniden Y\u00fckleme (kesintisiz): <code>sudo service haproxy reload<\/code> (Yap\u0131land\u0131rma dosyas\u0131 de\u011fi\u015fti\u011finde tercih edilir)<br \/>\n*   Durum Kontrol\u00fc: <code>sudo service haproxy status<\/code><\/p>\n<h4>3. Yap\u0131land\u0131rma Dosyas\u0131:<\/h4>\n<p>HAProxy&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/haproxy\/haproxy.cfg<\/code> konumundad\u0131r. D\u00fczenlemeden \u00f6nce orijinalini yedeklemek iyi bir uygulamad\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/haproxy\/haproxy.cfg \/etc\/haproxy\/haproxy.cfg.bak\nsudo nano \/etc\/haproxy\/haproxy.cfg<\/code><\/pre>\n<h3>HAProxy Katman 4 Yap\u0131land\u0131rmas\u0131<\/h3>\n<p><code>\/etc\/haproxy\/haproxy.cfg<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki gibi bir yap\u0131land\u0131rma ekleyin veya mevcut i\u00e7eri\u011fi buna g\u00f6re d\u00fczenleyin:<\/p>\n<pre><code class=\"language-ini\"># HAProxy Global Yap\u0131land\u0131rma Ayarlar\u0131\nglobal\n    log \/dev\/log    local0 # Syslog i\u00e7in loglama\n    log \/dev\/log    local1 notice\n    chroot \/var\/lib\/haproxy # G\u00fcvenlik i\u00e7in chroot ortam\u0131\n    user haproxy # HAProxy'nin \u00e7al\u0131\u015faca\u011f\u0131 kullan\u0131c\u0131\n    group haproxy # HAProxy'nin \u00e7al\u0131\u015faca\u011f\u0131 grup\n    daemon # Arka planda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar\n    maxconn 2000 # Maksimum e\u015fzamanl\u0131 ba\u011flant\u0131 say\u0131s\u0131\n    stats socket \/run\/haproxy\/admin.sock mode 660 level admin # Y\u00f6netim soketi\n\n<h2>Varsay\u0131lan Ayarlar<\/h2>\ndefaults\n    log     global # Global log ayarlar\u0131n\u0131 kullan\n    mode    tcp # Y\u00fck dengeleme modunu TCP olarak ayarla (Katman 4)\n    option  tcplog # TCP loglamay\u0131 etkinle\u015ftir\n    option  dontlognull # Bo\u015f ba\u011flant\u0131lar\u0131 loglama\n    timeout connect 5000ms # Arka u\u00e7 sunucusuyla ba\u011flant\u0131 kurma zaman a\u015f\u0131m\u0131\n    timeout client  50000ms # \u0130stemci taraf\u0131 zaman a\u015f\u0131m\u0131\n    timeout server  50000ms # Sunucu taraf\u0131 zaman a\u015f\u0131m\u0131\n\n<h2>HTTP Trafi\u011fi i\u00e7in Frontend (HAProxy'nin dinleyece\u011fi port)<\/h2>\nfrontend http_frontend\n    bind *:80 # T\u00fcm IP adreslerinde 80. portu dinle\n    mode tcp # Katman 4 modunda \u00e7al\u0131\u015f\n    default_backend wordpress_backend # Gelen trafi\u011fi wordpress_backend havuzuna y\u00f6nlendir\n\n<h2>HTTPS Trafi\u011fi i\u00e7in Frontend (HAProxy'nin dinleyece\u011fi port)<\/h2>\n<h2>E\u011fer SSL sonland\u0131rma WordPress sunucular\u0131nda yap\u0131l\u0131yorsa bu gereklidir.<\/h2>\nfrontend https_frontend\n    bind *:443 # T\u00fcm IP adreslerinde 443. portu dinle\n    mode tcp # Katman 4 modunda \u00e7al\u0131\u015f\n    default_backend wordpress_backend_https # Gelen trafi\u011fi wordpress_backend_https havuzuna y\u00f6nlendir\n\n<h2>WordPress HTTP Sunucular\u0131 i\u00e7in Backend Havuzu<\/h2>\nbackend wordpress_backend\n    mode tcp # Katman 4 modunda \u00e7al\u0131\u015f\n    balance roundrobin # Y\u00fck dengeleme algoritmas\u0131: Round-robin (s\u0131rayla da\u011f\u0131t)\n    option tcp-check # TCP sa\u011fl\u0131k kontrol\u00fcn\u00fc etkinle\u015ftir\n    server web1 192.168.1.101:80 check inter 2000 rise 2 fall 3 # Web Sunucusu 1\n    server web2 192.168.1.102:80 check inter 2000 rise 2 fall 3 # Web Sunucusu 2\n\n<h2>WordPress HTTPS Sunucular\u0131 i\u00e7in Backend Havuzu<\/h2>\n<h2>E\u011fer SSL sonland\u0131rma WordPress sunucular\u0131nda yap\u0131l\u0131yorsa bu gereklidir.<\/h2>\nbackend wordpress_backend_https\n    mode tcp # Katman 4 modunda \u00e7al\u0131\u015f\n    balance roundrobin # Y\u00fck dengeleme algoritmas\u0131: Round-robin (s\u0131rayla da\u011f\u0131t)\n    option tcp-check # TCP sa\u011fl\u0131k kontrol\u00fcn\u00fc etkinle\u015ftir\n    server web1_https 192.168.1.101:443 check inter 2000 rise 2 fall 3 # Web Sunucusu 1\n    server web2_https 192.168.1.102:443 check inter 2000 rise 2 fall 3 # Web Sunucusu 2\n\n<h2>HAProxy \u0130statistikleri Sayfas\u0131 (Opsiyonel, Katman 7 modunda \u00e7al\u0131\u015f\u0131r)<\/h2>\n<h2>Bu k\u0131s\u0131m HAProxy'nin kendi HTTP sunucusu gibi \u00e7al\u0131\u015farak istatistikleri sunmas\u0131n\u0131 sa\u011flar.<\/h2>\n<h2>Ana y\u00fck dengeleme Katman 4'te kal\u0131r.<\/h2>\nlisten stats\n    bind *:8080 # \u0130statistikleri 8080 portunda yay\u0131nla\n    mode http # Bu b\u00f6l\u00fcm i\u00e7in HTTP modunu kullan\n    stats enable # \u0130statistikleri etkinle\u015ftir\n    stats uri \/haproxy?stats # \u0130statistik sayfas\u0131n\u0131n URL'si\n    stats realm Haproxy\\ Statistics # Kimlik do\u011frulama alan\u0131\n    stats auth admin:password # Kullan\u0131c\u0131 ad\u0131 ve parola (g\u00fcvenlik i\u00e7in de\u011fi\u015ftirin!)\n    stats refresh 10s # Sayfay\u0131 10 saniyede bir yenile<\/code><\/pre>\n<h4>Yap\u0131land\u0131rma Detaylar\u0131:<\/h4>\n<p>*   <strong><code>global<\/code>:<\/strong> HAProxy&#8217;nin genel davran\u0131\u015f\u0131n\u0131 belirler (loglama, kullan\u0131c\u0131, grup, maksimum ba\u011flant\u0131 vb.).<br \/>\n*   <strong><code>defaults<\/code>:<\/strong> <code>frontend<\/code> ve <code>backend<\/code> b\u00f6l\u00fcmleri i\u00e7in varsay\u0131lan ayarlar\u0131 tan\u0131mlar. <code>mode tcp<\/code> Katman 4 y\u00fck dengeleme i\u00e7in kritik \u00f6neme sahiptir.<br \/>\n<em>   <strong><code>frontend http_frontend<\/code>:<\/strong> HAProxy&#8217;nin istemcilerden gelen HTTP (port 80) trafi\u011fini dinleyece\u011fi noktad\u0131r. <code>bind <\/em>:80<\/code> ile t\u00fcm a\u011f aray\u00fczlerinde 80. portu dinler. <code>default_backend wordpress_backend<\/code> ile gelen t\u00fcm trafi\u011fi <code>wordpress_backend<\/code> adl\u0131 arka u\u00e7 havuzuna y\u00f6nlendirir.<br \/>\n*   <strong><code>frontend https_frontend<\/code>:<\/strong> E\u011fer WordPress sunucular\u0131n\u0131zda SSL sonland\u0131rma yap\u0131yorsan\u0131z, 443. porttan gelen HTTPS trafi\u011fini dinlemek i\u00e7in bu blo\u011fu kullan\u0131n. Trafi\u011fi <code>wordpress_backend_https<\/code> havuzuna y\u00f6nlendirir.<br \/>\n*   <strong><code>backend wordpress_backend<\/code>:<\/strong> HTTP trafi\u011fi i\u00e7in arka u\u00e7 WordPress sunucular\u0131n\u0131n havuzunu tan\u0131mlar.<br \/>\n    *   <code>balance roundrobin<\/code>: Gelen ba\u011flant\u0131lar\u0131 s\u0131rayla arka u\u00e7 sunucular\u0131na da\u011f\u0131t\u0131r. Di\u011fer se\u00e7enekler <code>leastconn<\/code> (en az ba\u011flant\u0131s\u0131 olan sunucuya), <code>source<\/code> (kaynak IP adresine g\u00f6re oturum kal\u0131c\u0131l\u0131\u011f\u0131) olabilir. WordPress i\u00e7in genellikle <code>roundrobin<\/code> yeterlidir.<br \/>\n    *   <code>option tcp-check<\/code>: Sunucular\u0131n TCP ba\u011flant\u0131s\u0131 kurup kuramad\u0131\u011f\u0131n\u0131 kontrol eden basit bir sa\u011fl\u0131k kontrol\u00fc sa\u011flar.<br \/>\n    *   <code>server web1 192.168.1.101:80 check inter 2000 rise 2 fall 3<\/code>: <code>web1<\/code> ad\u0131nda bir sunucu tan\u0131mlar, IP adresi 192.168.1.101 ve 80. porttan dinler. <code>check<\/code> ile sa\u011fl\u0131k kontrol\u00fcn\u00fc etkinle\u015ftirir. <code>inter 2000<\/code> 2 saniyede bir kontrol yap\u0131laca\u011f\u0131n\u0131, <code>rise 2<\/code> 2 ba\u015far\u0131l\u0131 kontrolden sonra sunucunun sa\u011fl\u0131kl\u0131 kabul edilece\u011fini, <code>fall 3<\/code> ise 3 ba\u015far\u0131s\u0131z kontrolden sonra sunucunun sa\u011fl\u0131ks\u0131z kabul edilip havuzdan \u00e7\u0131kar\u0131laca\u011f\u0131n\u0131 belirtir.<br \/>\n*   <strong><code>backend wordpress_backend_https<\/code>:<\/strong> HTTPS trafi\u011fi i\u00e7in arka u\u00e7 WordPress sunucular\u0131n\u0131n havuzunu tan\u0131mlar. HTTP backend&#8217;ine benzer, ancak 443. portu hedefler.<br \/>\n*   <strong><code>listen stats<\/code>:<\/strong> HAProxy&#8217;nin kendi istatistik sayfas\u0131n\u0131 yay\u0131nlamas\u0131 i\u00e7in kullan\u0131lan, HTTP modunda \u00e7al\u0131\u015fan ayr\u0131 bir b\u00f6l\u00fcmd\u00fcr. Y\u00f6netim ve izleme i\u00e7in faydal\u0131d\u0131r. <code>admin:password<\/code> k\u0131sm\u0131n\u0131 g\u00fc\u00e7l\u00fc bir parola ile de\u011fi\u015ftirmeyi unutmay\u0131n.<\/p>\n<h3>Yap\u0131land\u0131rmay\u0131 Test Etme ve Uygulama<\/h3>\n<p>1.  <strong>Yap\u0131land\u0131rma Dosyas\u0131n\u0131 Kontrol Etme:<\/strong><br \/>\n    Yap\u0131land\u0131rma dosyas\u0131nda s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo haproxy -c -f \/etc\/haproxy\/haproxy.cfg<\/code><\/pre>\n<p>    E\u011fer &#8220;Configuration file is valid&#8221; mesaj\u0131n\u0131 g\u00f6r\u00fcrseniz, yap\u0131land\u0131rma do\u011frudur. Aksi takdirde, hatalar\u0131 d\u00fczeltin.<\/p>\n<p>2.  <strong>HAProxy Servisini Yeniden Y\u00fckleme:<\/strong><br \/>\n    Yap\u0131land\u0131rmay\u0131 uygulamak i\u00e7in HAProxy servisini yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo service haproxy reload<\/code><\/pre>\n<p>    E\u011fer sorun ya\u015farsan\u0131z <code>sudo service haproxy restart<\/code> kullanabilirsiniz, ancak bu mevcut ba\u011flant\u0131lar\u0131 kesebilir.<\/p>\n<p>3.  <strong>Test Etme:<\/strong><br \/>\n    Taray\u0131c\u0131n\u0131zdan HAProxy sunucusunun genel IP adresini veya alan ad\u0131n\u0131 ziyaret edin. WordPress sitenizin y\u00fck dengeleyici \u00fczerinden sorunsuz bir \u015fekilde a\u00e7\u0131lmas\u0131 gerekir.<br \/>\n    HAProxy istatistik sayfas\u0131n\u0131 etkinle\u015ftirdiyseniz, <code>http:\/\/HAProxy_IP:8080\/haproxy?stats<\/code> adresine giderek kullan\u0131c\u0131 ad\u0131 ve \u015fifre ile giri\u015f yap\u0131p arka u\u00e7 sunucular\u0131n\u0131z\u0131n durumunu ve trafik istatistiklerini g\u00f6rebilirsiniz.<\/p>\n<h3>Geli\u015fmi\u015f Konular ve Dikkat Edilmesi Gerekenler<\/h3>\n<h4>1. SSL\/TLS Y\u00f6netimi:<\/h4>\n<p>Katman 4 y\u00fck dengelemede SSL sonland\u0131rma HAProxy&#8217;de yap\u0131lmaz. SSL sertifikalar\u0131 ve \u015fifreleme\/\u015fifre \u00e7\u00f6zme i\u015flemleri do\u011frudan WordPress uygulama sunucular\u0131nda (Nginx\/Apache \u00fczerinde Let&#8217;s Encrypt ile) veya HAProxy&#8217;nin \u00f6n\u00fcnde konumland\u0131r\u0131lm\u0131\u015f ayr\u0131 bir SSL proxy&#8217;sinde (\u00f6rne\u011fin, Nginx veya ba\u015fka bir HAProxy Katman 7 \u00f6rne\u011fi) yap\u0131lmal\u0131d\u0131r. E\u011fer HAProxy&#8217;de SSL sonland\u0131rma yapmak isterseniz, HAProxy&#8217;yi Katman 7 modunda yap\u0131land\u0131rman\u0131z gerekir.<\/p>\n<h4>2. Veritaban\u0131 Y\u00fck Dengeleme ve Replikasyon:<\/h4>\n<p>HAProxy sadece web sunucular\u0131n\u0131z\u0131n y\u00fck\u00fcn\u00fc dengeler. Veritaban\u0131 sunucusu hala tek bir nokta hatas\u0131 olabilir. Y\u00fcksek eri\u015filebilirli\u011fe sahip bir veritaban\u0131 i\u00e7in MySQL\/MariaDB replikasyonu (master-slave veya master-master) veya Galera Cluster gibi \u00e7\u00f6z\u00fcmler kullanman\u0131z ve bu veritaban\u0131 k\u00fcmesinin \u00f6n\u00fcne MaxScale veya ProxySQL gibi bir veritaban\u0131 proxy&#8217;si yerle\u015ftirmeniz gerekebilir.<\/p>\n<h4>3. Payla\u015f\u0131ml\u0131 Dosya Sistemi (wp-content):<\/h4>\n<p>Daha \u00f6nce de belirtildi\u011fi gibi, <code>wp-content<\/code> klas\u00f6r\u00fcndeki t\u00fcm dosyalar\u0131n (y\u00fcklemeler, temalar, eklentiler) t\u00fcm WordPress uygulama sunucular\u0131 aras\u0131nda g\u00fcncel ve senkronize olmas\u0131 hayati \u00f6nem ta\u015f\u0131r. Aksi takdirde, bir sunucuya y\u00fcklenen bir resim di\u011fer sunucularda g\u00f6r\u00fcnmeyecek, bu da tutars\u0131z bir kullan\u0131c\u0131 deneyimine yol a\u00e7acakt\u0131r. NFS, GlusterFS, S3 uyumlu depolama \u00e7\u00f6z\u00fcmleri veya rsync ile d\u00fczenli senkronizasyon bu sorunu \u00e7\u00f6zer.<\/p>\n<h4>4. \u00d6nbellekleme (Caching):<\/h4>\n<p>WordPress siteleri dinamik i\u00e7erik \u00fcrettikleri i\u00e7in \u00f6nbellekleme, performans\u0131 art\u0131rman\u0131n en etkili yollar\u0131ndan biridir.<br \/>\n*   <strong>Sayfa \u00d6nbellekleme:<\/strong> Varnish Cache (HAProxy&#8217;nin \u00f6n\u00fcnde veya arkas\u0131nda), Nginx FastCGI \u00f6nbellekleme veya WordPress eklentileri (WP Super Cache, W3 Total Cache, LiteSpeed Cache) ile yap\u0131labilir.<br \/>\n*   <strong>Nesne \u00d6nbellekleme:<\/strong> Memcached veya Redis gibi \u00e7\u00f6z\u00fcmler, WordPress&#8217;in veritaban\u0131 sorgular\u0131n\u0131 azaltarak performans\u0131 art\u0131rabilir.<\/p>\n<h4>5. HAProxy&#8217;nin Y\u00fcksek Eri\u015filebilirli\u011fi (HA):<\/h4>\n<p>HAProxy sunucusunun kendisi tek bir hata noktas\u0131 olabilir. Bu sorunu \u00e7\u00f6zmek i\u00e7in, iki veya daha fazla HAProxy sunucusunu Keepalived ile bir araya getirerek bir Y\u00fcksek Eri\u015filebilirlik k\u00fcmesi olu\u015fturabilirsiniz. Keepalived, VRRP (Virtual Router Redundancy Protocol) kullanarak sanal bir IP adresi olu\u015fturur ve bu IP&#8217;yi aktif HAProxy sunucusuna atar. Aktif sunucu ar\u0131zaland\u0131\u011f\u0131nda, sanal IP otomatik olarak yedek sunucuya ge\u00e7er.<\/p>\n<h4>6. G\u00fcvenlik Duvar\u0131 (Firewall):<\/h4>\n<p>T\u00fcm sunucularda g\u00fcvenlik duvar\u0131 (\u00f6rn: <code>ufw<\/code> veya <code>iptables<\/code>) yap\u0131land\u0131rmas\u0131 yapmak \u00e7ok \u00f6nemlidir. Yaln\u0131zca gerekli portlara (\u00f6rn: HAProxy i\u00e7in 80\/443, SSH i\u00e7in 22, MySQL i\u00e7in 3306) eri\u015fime izin verin. HAProxy sunucunuzun sadece arka u\u00e7 sunucular\u0131n\u0131z\u0131n IP adreslerinden 80\/443 portlar\u0131na eri\u015fimine izin vermesi gibi kurallar belirleyebilirsiniz.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, HAProxy&#8217;yi Ubuntu 14.04 \u00fczerinde WordPress uygulama sunucular\u0131 i\u00e7in Katman 4 y\u00fck dengeleyici olarak nas\u0131l kurup yap\u0131land\u0131raca\u011f\u0131m\u0131z\u0131 detayl\u0131 bir \u015fekilde inceledik. Katman 4 y\u00fck dengeleme, basitli\u011fi, y\u00fcksek performans\u0131 ve kaynak verimlili\u011fi sayesinde WordPress gibi dinamik web uygulamalar\u0131 i\u00e7in etkili bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<p>HAProxy&#8217;nin do\u011fru yap\u0131land\u0131r\u0131lmas\u0131yla, WordPress sitelerinizin y\u00fcksek trafik alt\u0131nda bile sorunsuz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayabilir, tek nokta hatalar\u0131n\u0131 \u00f6nleyebilir ve uygulaman\u0131z\u0131n \u00f6l\u00e7eklenebilirli\u011fini art\u0131rabilirsiniz. Ancak, tam te\u015fekk\u00fcll\u00fc ve y\u00fcksek eri\u015filebilirli\u011fe sahip bir WordPress mimarisi i\u00e7in veritaban\u0131 replikasyonu, payla\u015f\u0131ml\u0131 dosya sistemi y\u00f6netimi, \u00f6nbellekleme ve HAProxy&#8217;nin kendisi i\u00e7in y\u00fcksek eri\u015filebilirlik gibi ek bile\u015fenleri de g\u00f6z \u00f6n\u00fcnde bulundurman\u0131z gerekti\u011fini unutmay\u0131n. Bu ad\u0131mlar\u0131 takip ederek, WordPress uygulaman\u0131z i\u00e7in sa\u011flam ve g\u00fcvenilir bir altyap\u0131 olu\u015fturma yolunda \u00f6nemli bir ad\u0131m atm\u0131\u015f olursunuz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"HAProxy&#8217;yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma\nGiri\u015f\nG\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas","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-33688","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>HAProxy&#039;yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma - 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\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HAProxy&#039;yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma\" \/>\n<meta property=\"og:description\" content=\"HAProxy&#039;yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-05T20:40:57+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=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"HAProxy&#8217;yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma\",\"datePublished\":\"2025-11-05T20:40:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/\"},\"wordCount\":2721,\"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\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/\",\"name\":\"HAProxy'yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-05T20:40:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HAProxy&#8217;yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma\"}]},{\"@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":"HAProxy'yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma - 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\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/","og_locale":"tr_TR","og_type":"article","og_title":"HAProxy'yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma","og_description":"HAProxy'yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas","og_url":"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-05T20:40:57+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"HAProxy&#8217;yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma","datePublished":"2025-11-05T20:40:57+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/"},"wordCount":2721,"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\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/","url":"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/","name":"HAProxy'yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-05T20:40:57+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/haproxyyi-ubuntu-14-04-uzerinde-wordpress-uygulama-sunuculari-icin-katman-4-yuk-dengeleyici-olarak-kullanma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"HAProxy&#8217;yi Ubuntu 14.04 \u00dczerinde WordPress Uygulama Sunucular\u0131 i\u00e7in Katman 4 Y\u00fck Dengeleyici Olarak Kullanma"}]},{"@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\/33688","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=33688"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33688\/revisions"}],"predecessor-version":[{"id":33689,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33688\/revisions\/33689"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33688"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33688"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33688"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}