Web sunucusu temelleri: siteyi yayınlamak
Statik bir siteyi önce Python’un yerleşik sunucusuyla, sonra Nginx ile yayınlar; adresleri, yönlendirmeleri, günlükleri ve HTTPS’i ayarlarsın.
Seviye 201 · 18 ders · 15 pratik lab
Dersler
İlk sunucu
- Web sunucusu ne yapar
- python3 -m http.server ile hızlı yayın
- Nginx’i kurmak, başlatmak ve durdurmak
- Belge kökü, index dosyası ve dizin listesi
- MIME türleri: tarayıcı dosyayı nasıl tanır
- Kısa görev: üç sayfalı siteyi yayınla
Yapılandırma
- server blokları ve birden çok site
- location eşleşmesi ve try_files
- Yönlendirmeler: eski adresleri yenilere bağlamak
- Özel hata sayfaları
- Sıkıştırma ve önbellek başlıkları
- Kısa görev: taşınan sayfalar için yönlendirme kur
Günlükler ve HTTPS
- Erişim ve hata günlüklerini okumak
- Günlükten en çok istenen sayfaları çıkarmak
- Kendi sertifikanla HTTPS: yerel sertifika otoritesi ve openssl
- HTTP’den HTTPS’e yönlendirme ve HSTS
- Ters vekil: bir uygulamayı Nginx’in arkasına almak
- Bitirme görevi: bir kurum sitesini HTTPS ile yayına al
Pratik lablar
- Klasörü hemen yayınla: python3 -m http.server ile proje klasörünü 8080'de yayınla ve başka bir terminalden curl ile doğrula.
- Nginx ile üç sayfalık siteyi yayınla: Nginx'i kur, belge kökünü değiştir ve index dosyası olmayan klasörde dizin listelemenin kapalı olduğunu kanıtla.
- Yanlış indirilen dosyaları düzelt: SVG ve .webmanifest dosyaları tarayıcıda açılmıyor; MIME türü eşlemesini düzelt ve başlıklarla doğrula.
- İkinci siteyi ekle: Aynı sunucuya Çınar Kafe için ayrı bir server bloğu ekle ve iki sitenin ad ile ayrıldığını curl ile göster.
- try_files ile tek sayfa uygulamasını yayınla: Derin bağlantıda 404 veren uygulama için try_files kuralı yaz, statik dosyaların yine doğrudan sunulduğunu kontrol et.
- Location önceliğini çöz: Dört location bloğu çakışıyor; beş örnek adresin hangi bloğa düştüğünü tahmin et, test et ve yanlış eşleşmeyi düzelt.
- Taşınan sayfayı yönlendir: Eski /hakkimizda.html adresini kalıcı yönlendirmeyle yeni /hakkimizda adresine bağla.
- Özel hata sayfası ekle: Ada Mobilya için markalı 404 ve 50x sayfaları yapılandır, durum kodunun yine doğru döndüğünü kontrol et.
- Yönlendirme listesini toplu uygula: Site yenilendi; 20 eski adresin yeni karşılıkları için map kullanarak yönlendirmeleri kur ve hepsini betikle test et.
- Erişim günlüğündeki hataları say: Günlükte 404 ve 500 dönen istekleri say ve en çok hata veren adresi bul.
- En çok istenen sayfaları çıkar: Bir haftalık erişim günlüğünden en çok ziyaret edilen on sayfayı ve en yoğun saati bul.
- Hata günlüğünden çöküşün nedenini bul: Site sabah 502 verdi; hata ve erişim günlüklerini zamanla eşleştirip arka uç sorununu adım adım açıkla.
- HTTP'yi HTTPS'e yönlendir: Yerel CA sertifikasıyla HTTPS'i aç ve 80 portuna gelen her isteği 443'e kalıcı olarak yönlendir.
- Uygulamayı Nginx arkasına koy: 3000 portundaki Node uygulamasını ters vekil ile yayınla ve gerçek istemci IP'sinin uygulamaya ulaştığını doğrula.
- Şirket sitesini HTTPS ile aç: Sıfırdan Mercan Denizcilik sitesini kendi sertifikası, HSTS, sıkıştırma ve önbellek başlıklarıyla yayına al.
Kurs hakkında
Statik bir siteyi önce Python’un yerleşik sunucusuyla, sonra Nginx ile yayınlar; adresleri, yönlendirmeleri, günlükleri ve HTTPS’i ayarlarsın.
Ne öğreneceksin
- İlk sunucu
- Yapılandırma
- Günlükler ve HTTPS
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.