# Ubuntu 22.04’te Cloudflare ve Nginx ile Web Sitesi Barındırma
Hızlı, güvenli ve ölçeklenebilir bir web sitesi mi istiyorsunuz? Ubuntu 22.04, Nginx ve Cloudflare’ın gücünü birleştirerek bu hedefe ulaşabilirsiniz. Bu kapsamlı rehberde, adım adım bir web sitesini nasıl barındıracağınızı, performansını nasıl optimize edeceğinizi ve olası sorunları nasıl çözeceğinizi öğreneceksiniz.
Öğrenme Yol Haritası:
* Yeni Başlayan: Temel kurulum ve konfigürasyon (Adım adım açıklama, basit kod örnekleri)
* Orta: Gerçek dünya senaryoları, SSL sertifikası kurulumu ve performans optimizasyon ipuçları
* İleri Düzey: Performans analizi, hata ayıklama, edge case’ler ve güvenlik iyileştirmeleri
1. Temel Kavramlar: Nginx, Cloudflare ve Ubuntu
Öncelikle, kullanacağımız temel teknolojileri kısaca tanıyalım. Ubuntu 22.04, güçlü ve popüler bir Linux dağıtımıdır. Nginx, yüksek performanslı bir web sunucusudur; statik dosyaları hızlı bir şekilde sunar ve dinamik içerik için diğer uygulamalarla (örneğin PHP) entegre çalışabilir. Cloudflare, içerik dağıtım ağı (CDN), DDoS koruması ve güvenlik özellikleri sunan bir bulut hizmetidir. Bu üçünün birleşimi, güvenli, hızlı ve ölçeklenebilir bir web sitesi oluşturmak için ideal bir çözüm sunar. Fatih Soysal’ın web sitesi [fatihsoysal.com](https://fatihsoysal.com) gibi birçok başarılı web sitesi de bu altyapıyı kullanmaktadır.
2. Ubuntu 22.04 Sunucusunun Hazırlanması
İlk adımımız, Ubuntu 22.04 sunucumuzu hazırlamak. Bir bulut sağlayıcısından (DigitalOcean, AWS, Google Cloud vb.) bir sunucu kiralayabilirsiniz veya kendi sunucunuzu kullanabilirsiniz. SSH erişimi sağladıktan sonra, sistem güncellemelerini yapmalıyız:
sudo apt update && sudo apt upgrade -y
Bu komut, sisteminizi en son sürümlere güncelleyecektir. Güvenlik açısından oldukça önemlidir.
3. Nginx Web Sunucusunun Kurulumu ve Yapılandırması
Nginx’i kurmak için aşağıdaki komutu çalıştırın:
sudo apt install nginx -y
Kurulum tamamlandıktan sonra, Nginx’i başlatın ve otomatik başlatmayı etkinleştirin:
sudo systemctl start nginx
sudo systemctl enable nginx
Nginx’in çalıştığını doğrulamak için tarayıcınızda sunucunuzun IP adresini girin. “Welcome to nginx!” mesajını görmeniz gerekir. Şimdi, web sitemizin dosyalarını barındıracağımız bir dizin oluşturalım:
sudo mkdir /var/www/html/benimwebsitem
sudo chown $USER:$USER /var/www/html/benimwebsitem
/var/www/html/benimwebsitem dizinine bir index.html dosyası ekleyerek basit bir test yapabilirsiniz. Örneğin, nano index.html komutu ile bir dosya açıp içine “Merhaba Dünya!” yazabilirsiniz. Değişiklikleri kaydettikten sonra Nginx sunucusunu yeniden başlatmanız gerekebilir.
4. Alan Adı Kaydı ve DNS Ayarları
Alan adınızı bir kayıt şirketinden (Godaddy, Namecheap vb.) satın almanız ve Cloudflare’a yönlendirmeniz gerekir. Cloudflare hesabınıza giriş yapıp alan adınızı ekleyin. Cloudflare, DNS kayıtlarınızı yönetecek ve güvenlik özelliklerini sağlayacaktır. DNS kayıtlarınızı Cloudflare’da doğru bir şekilde yapılandırdığınızdan emin olun. Özellikle A kaydı ve CNAME kayıtlarının doğru olması kritik öneme sahiptir.
5. SSL Sertifikasının Kurulumu (Let’s Encrypt)
Güvenli bir web sitesi için SSL sertifikası gereklidir. Let’s Encrypt, ücretsiz ve otomatik SSL sertifikaları sunan bir otoritedir. Certbot aracını kullanarak kolayca bir sertifika alabilirsiniz:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d benimalanadım.com -d www.benimalanadım.com
benimalanadım.com yerine kendi alan adınızı yazın. Bu komut, Nginx ile uyumlu bir SSL sertifikası kuracak ve otomatik yenilemeyi ayarlayacaktır.
6. Cloudflare ile Entegre Çalışma
Cloudflare’da DNS kayıtlarını doğru bir şekilde yapılandırdıktan sonra, Cloudflare’ın sunucu IP adresinizi bildiğinden emin olun. Cloudflare’ın performans ve güvenlik özelliklerini kullanmak için, Cloudflare DNS’ini kullanmalısınız.
7. Performans Optimizasyonu
Web sitenizin performansını optimize etmek için çeşitli adımlar atabilirsiniz. Örneğin:
* Gzip sıkıştırması: Nginx konfigürasyonunuzu düzenleyerek Gzip sıkıştırmasını etkinleştirebilirsiniz. Bu, web sitenizin boyutunu küçültür ve yükleme hızını artırır.
* Resim optimizasyonu: Büyük resim dosyalarını optimize ederek veya daha küçük boyutlarda kullanarak bant genişliğini ve yükleme süresini azaltabilirsiniz.
* Kötü kodlama uygulamalarının önlenmesi: Uygulama kodunuzda performans sorunlarına yol açabilecek kötü kodlama uygulamalarından kaçınmalısınız.
* Cacheleme: Nginx ve Cloudflare’ın cacheleme özelliklerini kullanarak statik dosyaların tekrar tekrar oluşturulmasını önleyebilirsiniz.
8. Gerçek Dünya Senaryoları ve Vaka Analizleri
Örneğin, bir e-ticaret sitesi için, ürün resimlerinin optimize edilmesi ve CDN kullanımı çok önemlidir. Yüksek trafikli bir blog için ise, veritabanı optimizasyonu ve cacheleme stratejileri performansı önemli ölçüde etkiler. Bu gibi durumlarda, performans analizi araçları kullanarak darboğazları tespit etmek ve çözüm üretmek gerekir.
9. Hata Ayıklama ve Sorun Çözme
Web sitenizde bir sorunla karşılaşırsanız, Nginx hata günlüklerini kontrol edin. /var/log/nginx/error.log dosyasında hata mesajları bulunabilir. Ayrıca, Cloudflare’ın sunduğu logları ve analiz araçlarını kullanarak sorunları tespit edebilirsiniz.
Sonuç
Bu rehberde, Ubuntu 22.04, Nginx ve Cloudflare kullanarak bir web sitesini nasıl barındıracağınızı öğrendiniz. Performans optimizasyonu ve sorun giderme adımlarıyla web sitenizi hızlı, güvenli ve ölçeklenebilir hale getirebilirsiniz. Unutmayın ki bu sadece bir başlangıç noktasıdır. Daha ileri düzey teknikler ve optimizasyonlar için daha fazla araştırma yapmanız gerekebilir.
Sıkça Sorulan Sorular:
1. Nginx’i nasıl yeniden başlatırım? sudo systemctl restart nginx komutunu kullanabilirsiniz.
2. SSL sertifikam süresi dolduğunda ne olur? Let’s Encrypt otomatik olarak sertifikayı yeniler. Ancak, sorun yaşarsanız manuel olarak yenileme işlemini gerçekleştirebilirsiniz.
3. Cloudflare’ın ücretsiz planı yeterli mi? Çoğu kişi için ücretsiz plan yeterlidir. Ancak, daha fazla özellik ve performans için ücretli planlara geçebilirsiniz.
4. Web sitem yavaşsa ne yapmalıyım? Performans optimizasyon adımlarını takip edin ve hata günlüklerini kontrol edin.
5. Güvenlik açıklarını nasıl önlerim? Sisteminizi düzenli olarak güncelleyin, güçlü şifreler kullanın ve güvenlik duvarı kurallarınızı doğru yapılandırın.
Yazar: Fatih Soysal
