VPS sunucularında web sitelerinin performansını optimize etmek, modern hosting çözümlerinin vazgeçilmez bir parçasıdır.
VPS sunucularında web sitelerinin performansını optimize etmek, modern hosting çözümlerinin vazgeçilmez bir parçasıdır. Nginx sunucusu kullanan sistem yöneticileri için Brotli sıkıştırma algoritmasını aktif etmek, sayfa yükleme hızlarını önemli ölçüde artırır. Brotli, Google tarafından geliştirilen ve gzip’e kıyasla daha yüksek sıkıştırma oranları sunan bir teknolojidir. Bu makalede, Ubuntu tabanlı bir VPS sunucusunda Nginx’e Brotli modülünü entegre etme sürecini adım adım ele alacağız. Bu işlem, kaynak kodundan derleme gerektirdiği için dikkatli bir şekilde takip edilmelidir ve sunucu erişiminizin root yetkileriyle yapılmalıdır.
Nginx Brotli modülünü etkinleştirmeden önce, sunucunuzun uygun bağımlılıklara sahip olması şarttır. Ubuntu 20.04 veya 22.04 gibi LTS sürümlerini tercih edin, çünkü bu sürümlerde derleme araçları stabil çalışır. Öncelikle, sistem paketlerini güncelleyin: sudo apt update && sudo apt upgrade -y komutunu çalıştırın. Ardından, derleme için gerekli araçları yükleyin: sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev git autotools-dev libxslt1-dev libgd-dev libgeoip-dev libatomic-ops-dev uuid-dev libperl-dev libjemalloc-dev libunwind8-dev liblzma-dev libaio-dev libpcre2-dev. Bu paketler, Nginx’in Brotli ile uyumlu derlenmesini sağlar.
Brotli kütüphanesini ayrı olarak indirin ve derleyin. Git ile klonlayın: git clone --recurse-submodules https://github.com/google/brotli.git, ardından cd brotli ve ./brotli.gni dosyasını kullanarak mkdir out && gn gen out && autoninja -C out ile derleyin. Bu adım, Brotli’nin statik kütüphanesini (/usr/local/lib/) oluşturur. Mevcut Nginx sürümünüzü not alın (nginx -V), çünkü yeni derlemede aynı sürümü kullanacaksınız. Bu hazırlık aşaması, olası uyumsuzlukları önler ve kurulumun sorunsuz ilerlemesini garanti eder. Toplamda yaklaşık 10-15 dakika sürer ve sunucunuzun 2 GB RAM’e sahip olması önerilir.
Mevcut Nginx’i kaldırmadan dinamik modül olarak Brotli eklemek en güvenli yöntemdir. Önce Nginx kaynak kodunu indirin: wget https://nginx.org/download/nginx-[sürüm].tar.gz (sürümünüzle eşleştirin), ardından açın ve ./configure --with-compat --add-dynamic-module=/path/to/ngx_brotli ile yapılandırın. ngx_brotli modülünü GitHub’dan klonlayın: git clone --recurse-submodules -j8 https://github.com/google/ngx_brotli.git. Yapılandırma sırasında --add-dynamic-module=ngx_brotli/mod_brotli parametresini ekleyin ve make modules ile sadece modülü derleyin.
Oluşan ngx_http_brotli_filter_module.so ve ngx_http_brotli_static_module.so dosyalarını /usr/lib/nginx/modules/ dizinine kopyalayın: sudo cp objs/ngx_http_brotli_*.so /usr/lib/nginx/modules/. Ardından sudo nginx -t ile test edin. Bu entegrasyon, Nginx’in ana binary’sini etkilemez ve geri dönüşü kolaylaştırır. Derleme süreci 5-10 dakika alır; hatalar genellikle eksik bağımlılıklardan kaynaklanır, bu yüzden logları (make 2>&1 | tee build.log) inceleyin.
Modüllerin yüklendiğini doğrulamak için nginx -V 2>&1 | grep brotli komutunu kullanın; çıktı --add-dynamic-module=../ngx_brotli içermelidir. Sistem modül dizinini etkinleştirmek üzere /etc/nginx/modules-enabled/50-mod-http-brotli.conf gibi bir symlink oluşturun: sudo ln -s /usr/share/nginx/modules-available/mod-http-brotli-filter.conf /etc/nginx/modules-enabled/. Yeniden yükleyin: sudo nginx -s reload. Bu adımlar, modülün aktif olduğunu teyit eder ve sunucuyu yeniden başlatmadan uygular.
Ana nginx.conf dosyasında veya site-specific bloklarda Brotli’yi etkinleştirin. http { ... } bloğuna load_module modules/ngx_http_brotli_filter_module.so; ve load_module modules/ngx_http_brotli_static_module.so; ekleyin. Ardından brotli on;, brotli_comp_level 6; (1-11 arası, 6 dengelidir), brotli_types text/plain text/css application/javascript application/json image/svg+xml; gibi direktifler kullanın. Statik dosyalar için brotli_static on; ekleyin ki önceden sıkıştırılmış dosyalar (.br uzantılı) servis edilsin.
Site bloğunda örnek yapılandırma: server { ... gzip off; brotli on; brotli_comp_level 4; brotli_types text/html text/css text/xml text/javascript; }. Yapılandırmayı test edin: sudo nginx -t ve reload yapın. Performansı ölçmek için curl ile test edin: curl -I -H "Accept-Encoding: br" https://alanadiniz.com; Content-Encoding: br başlığını görmelisiniz. Bu ayarlar, CPU kullanımını %20-30 artırabilir ama bant genişliğini %70’e varan oranda azaltır.
Gerçek performans için GTmetrix veya PageSpeed Insights kullanın; Brotli sonrası skorlar yükselecektir. Cache entegrasyonu için brotli_static always; kullanın ve .br dosyaları önceden üretin: brotli -q 11 dosya.html. Loglama ekleyin: access_log /var/log/nginx/brotli.log brotli;. Sorun giderme: Eğer modül yüklenmiyorsa, SELinux/AppArmor’u kontrol edin veya ldd /usr/lib/nginx/modules/ngx_http_brotli_filter_module.so ile bağımlılıkları inceleyin. Bu optimizasyonlar, trafiği yüksek sitelerde belirgin fark yaratır.
Sonuç olarak, VPS sunucunuzda Nginx Brotli’yi aktif etmek, web uygulamanızın hızını ve kullanıcı deneyimini üst seviyeye taşır. Bu rehberdeki adımları takip ederek, dakikalar içinde uygulamaya geçebilirsiniz. Düzenli bakım ve monitöring ile Brotli’nin faydalarından uzun vadede yararlanın; sunucu kaynaklarınızı verimli yöneterek rekabet avantajı elde edin.