1. Nginx'in Temel Yapılandırmalarını Gözden Geçirin
Başlangıç olarak, Nginx’in temel yapılandırmalarına göz atmak önemli. Hızlı bir web sitesi için doğru yapılandırma hayati öneme sahiptir. Bu ayarları doğru yapmazsanız, sunucunuz gereksiz yere kaynak tüketebilir. İlk yapmanız gereken, `worker_processes` parametresini optimize etmek. Bu parametre, Nginx'in çalıştırdığı işlem sayısını belirler. Genellikle bu değeri, sunucunuzun CPU çekirdek sayısına göre ayarlamak en iyi sonucu verir.
Öneri: Eğer CPU'nuz 4 çekirdekli ise, `worker_processes` değerini 4 olarak ayarlamak, performansınızı artıracaktır.
2. Bağlantı Havuzları ile Trafiği Yönetme
Web sitenize gelen her istek, bir işlemci kaynağına ihtiyaç duyar. Bu nedenle, bağlantı havuzlarını (connection pooling) kullanmak, sunucunuzun trafiği daha verimli bir şekilde yönetmesine yardımcı olur. Nginx’in `keepalive_timeout` parametresini doğru bir şekilde yapılandırarak, istemcilerle olan bağlantıları uzun süre açık tutabilir ve her istek için yeni bağlantılar açmak zorunda kalmazsınız.
Öneri: `keepalive_timeout 65;` gibi bir ayar, bağlantılarınızın verimli bir şekilde kullanılmasını sağlar.
3. Statik Dosyaları Nginx ile Daha Hızlı Sunun
Web sitenizin hızını etkileyen önemli faktörlerden biri de statik dosyaların sunulma hızıdır. Nginx, bu dosyaları oldukça hızlı bir şekilde sunabilir. Ancak, bu işlemi daha da hızlandırmak için bazı yapılandırmalar yapabilirsiniz. Özellikle `gzip` sıkıştırma özelliğini etkinleştirmek, statik dosyalarınızın boyutunu küçültür ve daha hızlı yüklenmesini sağlar.
gzip on;
gzip_types text/plain application/xml text/css application/javascript;
4. Proxy Ayarlarını Doğru Yapın
Nginx’i bir ters proxy olarak kullanıyorsanız, doğru proxy ayarları yapmak çok önemlidir. Trafiği doğru yönlendirmek, web sitenizin hızını ciddi şekilde iyileştirebilir. Bu noktada, `proxy_cache_path` komutunu kullanarak, sıkça talep edilen içerikleri cache (önbellek) içinde saklayabilirsiniz.
Öneri: Önbellek, özellikle dinamik içeriklerin yüklenme süresini büyük oranda azaltır. Önbellek ayarlarını optimize etmek, sitenizin hızını artıracaktır.
5. Nginx Modüllerini Keşfedin
Nginx, performansı artırmak için çeşitli modüller sunar. Fakat bu modüllerin hepsi yaygın olarak bilinmez. Örneğin, `ngx_http_brotli_filter_module` modülü, verilerin daha verimli bir şekilde sıkıştırılmasına olanak tanır. Aynı şekilde, `ngx_http_headers_more_filter_module` modülü, HTTP başlıkları üzerinde daha fazla kontrol sağlar.
Öneri: Bu modülleri kullanarak, site hızınızı ve genel performansınızı ciddi şekilde artırabilirsiniz.
6. Error Log Ayarlarını Yapın
Sunucu hataları, web sitenizin yavaşlamasına neden olabilir. Bu nedenle, error loglarını düzgün bir şekilde yapılandırmak çok önemlidir. `error_log` komutunu kullanarak, sadece önemli hataları kaydedebilir ve gereksiz loglardan kaçınabilirsiniz.
Öneri: `error_log /var/log/nginx/error.log warn;` komutunu kullanarak, gereksiz logları engelleyebilirsiniz.
7. TLS/SSL Ayarlarını Optimizasyon Yapın
Web sitenizin güvenliğini artırırken, hızından da ödün vermemelisiniz. TLS/SSL sertifikaları, güvenlik için önemli olmakla birlikte, doğru yapılandırılmadıkları takdirde site hızını olumsuz etkileyebilir. TLS bağlantılarını daha hızlı hale getirmek için, `ssl_session_cache` ve `ssl_session_timeout` ayarlarını optimize etmeniz gerekmektedir.
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
8. FastCGI Ayarlarını Yapın
Eğer Nginx’i PHP gibi dinamik içerikler için kullanıyorsanız, FastCGI ile PHP-FPM (FastCGI Process Manager) ayarlarını doğru yapmak büyük fark yaratabilir. Bu ayarlar, dinamik içeriklerin hızlı bir şekilde sunulmasını sağlar. `fastcgi_cache` ile önbellek oluşturmak, özellikle yoğun trafikli siteler için çok faydalıdır.
Öneri: FastCGI cache kullanarak, sayfa yükleme sürelerini büyük ölçüde azaltabilirsiniz.
9. Nginx'i Yeniden Başlatmak İçin Yapılacak Ayarlar
Yapılandırma dosyalarını değiştirdikten sonra, Nginx’i yeniden başlatmak önemlidir. Ancak, bu işlemi yüksek trafikli zamanlarda yapmamaya özen gösterin. `reload` komutunu kullanarak, konfigürasyon değişikliklerini daha az kesinti ile uygulayabilirsiniz.
sudo nginx -s reload;
10. Performans Testleri Yapın
Son olarak, tüm yapılandırmaları yaptıktan sonra, sitenizin performansını test etmek önemlidir. Google PageSpeed Insights veya GTMetrix gibi araçları kullanarak, yaptığınız değişikliklerin siteniz üzerindeki etkisini ölçebilirsiniz. Bu araçlar, hız ve performans optimizasyonları için size yol gösterici olur.
Öneri: Yaptığınız her değişikliği test edin ve sonuçları izleyin.