API'yi VPS'ye Dağıtmak
[[academy-video-youtube({"vid": "FRCEGzo2HeA", "start_time": "0", "title": "API'nin Bir VPS'ye Dağıtımı", "creator": "Tim Corey", "length": "23m 24s"})]]
.NET geliştiricisi olan herkesin yolculuğunda bir web uygulaması dağıtmak bir kilometre taşıdır. ASP.NET Core, .NET Framework ile çalışıyor olun veya diğer türdeki dinamik web sitelerinde geliştirme yapıyor olun, uygulamanızı bir Sanal Özel Sunucu (VPS) üzerine dağıtmak, barındırma ortamı, güvenlik ve ölçeklenebilirlik üzerinde tam kontrol sağlar.
Bu ayrıntılı rehberde, Tim Corey'nin "API'yi Bir VPS'ye Dağıtma" başlıklı eğitiminden aldığımız bilgilerle, VPS'ye minimal bir C# API için nasıl dağıtım yapacağımızı keşfediyoruz. Domain kaydından SSL sertifikalarına ve Visual Studio aracılığıyla yayınlamaya kadar Tim her şeyi kapsıyor. VPS çözümleri veya .NET Core barındırma seçeneklerini inceliyorsanız, bu rehber, uygulamalı dağıtım için kapınız.
Örnek API Kullanmanın Web Geliştirmedeki Önemi Nedir?
Başlangıçta, Tim bir örnek API'ye sahip olmanın değerini açıklar. HTML, JavaScript veya hatta Blazor gibi teknolojilerle ön uç uygulamalar inşa ederken bu, önemli bir test zemini sunar. Bu web geliştirme deneyiminin tümünü elde edersiniz—arka uç mantığından barındırma ve dağıtıma kadar.
Domain Stratejisi: Sadece Hazır Olduğunuzda Satın Alın
Tim, bir anahtar ilkeyi vurgular—yeni bir uygulama fikri ortaya çıktığı anda bir domain adı satın alma konusunda acele etmeyin. Pek çok gelişmeye hevesli geliştirici, çalışan bir prototip olmaksızın domainler, barındırma paketleri ve e-posta sunucuları gibi özelliklere fazla harcama yapar.
Bunun yerine, öncelikle programlama dillerinize, veri modellerinize ve API mantığınıza odaklanın. Proje olgunlaştığında, o zaman domaininizi ve barındırma hesabınızı almanın zamanı gelmiştir. Ancak, bu eğitim için Tim, Namecheap üzerinden güvenilir bir barındırma sağlayıcısı olarak önerdiği thesampleapi.com adresini önceden satın almıştır.
Bir VPS Barındırma Sağlayıcısı Seçme
Tim, bu proje için yüksek performanslı, düşük maliyetli sanal özel sunucular için güvendiği bir VPS barındırma sağlayıcısı olan InterServer'ı kullanıyor. Genellikle Azure kullanmasına rağmen (özellikle Microsoft SQL Server veya kurumsal ölçekli dağıtımlar için), burada esnekliği göstermek için InterServer'ı tercih ediyor.
VPS barındırma planlarının faydalarını anımsatır:
Paylaşılan barındırma planlarından daha fazla kontrol
Dinamik web siteleri için daha iyi performans
SSD depolama ve ölçeklenebilir disk alanı
- İsteğe bağlı DDoS koruması ve işletim sistemine tam erişim
Linux VPS ve Windows Server barındırma seçeneklerini karşılaştıran geliştiriciler için Tim'in bu kullanım durumu, her iki ortamla nasıl çalışılacağını gösteriyor, ancak bu örnek bir Windows tabanlı VPS kullanıyor.
Plesk Kontrol Paneli ile Web Hosting Kurulumu
Tim, barındırma hizmetini Plesk kontrol paneli üzerinden ayarlamayı gösteriyor. VPS çözümleri genellikle web sunucunuzda yapılandırma yapmak için kök erişim veya kontrol paneli erişimi sağlar. thesampleapi.com domainini kurar ve temel web barındırmayı yapılandırır.
Bu adım şunları içerir:
DNS barındırmayı etkinleştirme
Barındırma dizini oluşturma
- VPS üzerindeki paylaşılan vs. özel sunucu yapısını anlama
Tim, VPS kullanıcılarının genellikle tek bir sunucu örneği altında birden fazla domain barındırdığını belirtir. Bu, temel paylaşılan Windows barındırmanın gücü—ihtiyaçlarınıza göre ölçeklenir ve yüksek trafiği verimli bir şekilde kaldırabilir.
Namecheap Üzerinden DNS Ayarlarını Güncelleme
Domaini barındırma sağlayıcısına bağlamak için Tim, Namecheap üzerinde alan adı sunucusu (NS) kayıtlarını InterServer'ın DNS'sine yönlendirmek üzere günceller. Bu, domainin VPS IP adresine çözülmesini sağlar.
Tim, bunun 48 saate kadar sürebileceğini ancak deneyimlerine göre çoğu zaman 15 dakika veya daha kısa sürede tamamlandığını söyler—çalışmalarını canlı görmek isteyen .NET geliştiricileri için bir bonus.
SSL Sertifikası Kurulumu
Modern web uygulamalarında güvenlik tartışılmaz bir konudur. Tim, Let's Encrypt kullanarak ücretsiz site şifrelemesi sunan bir SSL sertifikası kurar. www.thesampleapi.com ve api.thesampleapi.com gibi alt domainler de güvenli olacak şekilde joker karakter SSL sertifikası kullanır.
Bu, özellikle hassas verileri işleyen ASP.NET Core API'leri için kritik bir adımdır. SSL sertifikaları, istemciler ve web sunucusu arasında iletişimi şifreler, yüksek performanslı, güvenli web siteleri için sahip olunması gereken bir özelliktir.
Visual Studio ile Yayınlama
Ardından, Tim, Visual Studio'dan ASP.NET Core API'sini nasıl yayınlayacağını gösterir:
Projeye sağ tıklayın → Yayınla
Hedef olarak Dizin'i seçin
Yayın modunu seçin
- Dağıtım türünü Framework bağımlı olarak ayarlayın (uygun .NET sürümleri önceden kurulmuş ortamlarda)
NET kurulmamış bir Linux barındırma ortamına dağıtırken, Tim bağımsız bir dağıtıma geçmeyi önerir. Bu, gereken .NET Core çalıştırma zamanını paketler ve uzak sunucularda uyumluluğu sağlar.
Yayın, dosyaları barındırma sağlayıcınıza doğrudan yüklemenizi sağlayacak bir dizi dosya üretir.
Dosyaları Web Sunucusuna Yükleme
Tim, kontrol panelindeki dosya yöneticisini varsayılan dosyaları silmek ve yayınlanan dizini yüklemek için kullanır. İçeriği doğrudan makinesinden VPS dosya sistemine sürükler. Yüklendikten sonra, domain URL'sine vurmak, uygulamanın canlı olduğunu gösteren basit bir "Hello World" mesajı döndürür.
Daha ileri düzey kullanıcılar için, Tim, barındırma hizmetinizin yeteneklerine bağlı olarak GitHub Actions veya webdev kullanarak dağıtımı otomatikleştirmeyi önerir.
API Uç Noktalarını Test Etme
Tim daha sonra C# API'sinde tanımlanmış bir yol olan /courses'a gider. JSON verileri döner, bu da ASP.NET Core uygulamasının düzgün çalıştığını kanıtlar. Bu ayrıca arka uç mantığı, yönlendirme ve ara yazılımların web sunucusunda düzgün şekilde ele alındığını doğrular.
Swagger UI (Scaler/V1) Düzeltme
Pek çok .NET geliştiricisinin karşılaştığı yaygın bir sorun, Swagger UI'nin (API dokümantasyonu için kullanılır) sadece geliştirme modunda çalışmasıdır. Tim, projedeki yapılandırma dosyasının üretimde Swagger'ı devre dışı bıraktığını tespit eder.
OpenAPI kurulumu, yapılandırma dosyasında güncelleyerek, canlı ortamlarda debugging ve testing için gerekli olan üretim ortamında bile erişilebilir hale getirir.
Root'u Swagger UI'ye Yönlendirme
Ana sayfada "Hello World" göstermekteSE, Tim API'nin kök uç noktasında bir yönlendirme ekler. Artık https://thesampleapi.com adresine gitmek, kullanıcıları API dokümantasyonuna hızlı erişim sağlayan Swagger dokümantasyonuna /scaler/v1. adresinden otomatik olarak yönlendirir.
Güncellemeler Sonrasında Yeniden Dağıtım Yapma
Tim, yeni değişiklikleri yansıtmak için yayını-yükleme sürecini tekrarlar. VPS dosya dizinini temizler ve yeni yapıyı yeniden yükler. Bu yöntemin kısa bir kesinti süresine neden olduğunu açıklar, ancak gelişim aşamasında kabul edilebilir olduğunu belirtir.
Yüksek trafik alan üretim uygulamaları için, Tim daha gelişmiş barındırma planlarında veya Azure gibi platformlarda bulunan bir hazırlık alanı kullanmayı önerir. Bu, kesintisiz dağıtıma olanak tanır.
Son Doğrulama ve API Testi
Tim, güncellenmiş API dağıtıldığında, şunları doğrular:
SSL sertifikası etkin
Uç noktalar doğru verileri döndürüyor
- Swagger UI /scaler/v1 adresinden erişilebilir
Dağıtım başarılı. Geliştiriciler artık her türlü ön uç ile—örneğin Angular, React, Blazor, hatta WPF ve WinForms gibi masaüstü uygulamaları—bu canlı API'ye karşı test yapabilir.
Sonraki Adım Nedir?
Tim, geliştiricileri farklı ön uçlarla örnek API'yi kullanarak keşfe çıkmaya teşvik ederek sona eriyor. Dinamik web siteleri geliştiriyor, entegrasyonları test ediyor veya klasik ASP veya Visual Basic ile denemeler yapıyorsanız, bu dağıtılımış API büyük bir varlıktır.
Canlı API'ye şu adresten erişebilirsiniz:
Özet
Bir API'yi bir VPS'ye dağıtmak, .NET Core, .NET Framework veya genel olarak web uygulamaları ile çalışan herhangi bir geliştirici için değerli bir öğrenme deneyimidir. Tim Corey'nin videosu, domain kurulumundan son dağıtıma kadar tüm yolculuğu anlatır ve pratik ipuçları ve en iyi uygulamalar sunar.
Gizli ücretlerden kaçınmak, geleneksel web hosting şirketlerinden uzaklaşmak veya paylaşılan hostingin ötesinde deneyler yapmayı düşünüyorsanız, bu eğitim sizi doğru yoluna koyar.
İlk API'nizi başlatıyor ya da .NET servis barındırmayı keşfediyor olun, bu rehber dinamik ve ölçeklenebilir web uygulamaları oluşturmak için netlik, kontrol ve güçlü özellikler sağlar.

