Altbilgi içeriğine atla
Iron Academy Logo
C# Uygulaması
C# Uygulaması

Diğer Kategoriler

API'nin bir VPS'ye Dağıtılması

Tim Corey
23m 24s

Bir web uygulaması dağıtmak, herhangi bir .NET geliştiricisinin yolculuğunda bir dönüm noktasıdır. İster ASP.NET Core, .NET Framework ile çalışıyor olun, ister başka dinamik web siteleri geliştiriyor olun, uygulamanızı bir Sanal Özel Sunucu (VPS)'ye dağıtmak, barındırma ortamı, güvenlik ve ölçeklenebilirlik üzerinde tam kontrol sağlar.

Bu ayrıntılı kılavuzda, Tim Corey'nin "Deploying the API to a VPS" adlı öğreticisinden elde edilen bilgilerle küçük bir C# API'sinin bir VPS'ye nasıl dağıtılacağını inceliyoruz. Alan adının kaydından SSL sertifikalarına ve Visual Studio üzerinden yayınlamaya kadar her şeyi kapsıyor. .NET Core barındırma seçeneklerini veya VPS çözümlerini araştırıyorsanız, bu kılavuz size adım adım dağıtım yolunu açar.

Neden Web Geliştirmede Örnek API Kullanılır?

Başlangıçta, Tim bir örnek API'ye sahip olmanın değerini açıklar. HTML, JavaScript veya hatta Blazor gibi teknolojilerle frontend uygulamalar inşa ederken bu, hayati bir test alanıdır. Tam web geliştirme deneyimini elde edersiniz—backend mantığından barındırma ve dağıtıma kadar.

Alan Adı Stratejisi: Hazır Olunca Satın Al

Tim, yeni bir uygulama fikri aldığınız anda bir alan adı satın almaya acele etmeyin diye önemli bir ilkeyi vurgular. Birçok hevesli geliştirici, çalışan bir prototipe sahip olmadan alan adlarına, hosting paketlerine ve e-posta sunucuları gibi özelliklere aşırı harcama yapar.

Bunun yerine, öncelikle programlama dillerinize, veri modellerinize ve API mantığınıza odaklanın. Proje olgunlaştığında, alan adı ve hosting hesabınızı almak için o zaman geçerli bir an gelir. Ancak bu tutorial için, Tim thesampleapi.com adını Namecheap üzerinden önceden satın aldı—kendisi bu güvenilir hosting sağlayıcısını öneriyor.

VPS Hosting Sağlayıcısının Seçimi

Tim bu proje için InterServer'ı kullanıyor—yüksek performanslı, düşük maliyetli sanal özel sunucular için güvendiği bir VPS hosting sağlayıcısı. Genellikle Azure'u (özellikle Microsoft SQL Server veya kurumsal ölçekli dağıtımlar için) kullansa da, burada esnekliği göstermek için InterServer'ı tercih ediyor.

VPS hosting planlarının avantajlarını sunar:

  • Paylaşımlı hosting 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 OS'ye tam erişim

Linux VPS ve Windows Server barındırma seçeneklerini karşılaştıran geliştiriciler için Tim'in kullanım durumu, her iki ortamla da nasıl çalışılacağını gösterir, ancak bu örnek Windows tabanlı bir VPS kullanır.

Plesk Kontrol Paneli ile Web Hosting Kurulumu

Tim, Plesk kontrol paneli aracılığıyla hosting hizmetini nasıl kurduğunu gösterir. VPS çözümleri genellikle web sunucunuzu yapılandırmak için root erişimi veya kontrol paneli erişimi sağlar. thesampleapi.com alan adını kurar ve temel web hosting'i yapılandırır.

Bu adım şunları içerir:

  • DNS hosting'i etkinleştirme

  • Barındırma dizinini oluşturma

  • VPS'de paylaşımlı ve özel sunucu yapısını anlama

Tim, VPS kullanıcılarının genellikle bir sunucu örneği altında birden fazla alan adı barındırdıklarını belirtiyor. Bu, temel paylaşımlı Windows hosting'e göre VPS'nin gücüdür: ihtiyaçınıza göre ölçeklenir ve yüksek trafiği verimli bir şekilde yönetebilir.

DNS Ayarlarını Namecheap Üzerinden Güncelleme

Alan adını hosting sağlayıcısına bağlamak için Tim, Namecheap'taki Ad Sunucusu (NS) kayıtlarını InterServer'in DNS'ine yönlendirecek şekilde günceller. Bu, alan adının VPS IP adresine çözülmesine olanak sağlar.

Tim, bunun 48 saate kadar sürebileceğini; ancak deneyimine göre genellikle 15 dakikadan kısa sürede tamamlandığını ve .NET geliştiricilerinin işlerini canlıda görmek için sabırsızlanabileceğini belirtiyor.

SSL Sertifikası Yükleme

Güvenlik, modern web uygulamalarında vazgeçilmezdir. Tim, ücretsiz site şifrelemesi sunan Let's Encrypt'i kullanarak bir SSL sertifikası kurar. Alt alan adları olan www.thesampleapi.com ve api.thesampleapi.com'un da güvenli olmasını sağlamak için bir genel SSL sertifikası kullanır.

Bu, özellikle hassas veri işleyen ASP.NET Core API'leri için kritik bir adımdır. SSL sertifikaları istemci ile web sunucusu arasındaki iletişimi şifreler, yüksek performanslı, güvenli web siteleri için gereklidir.

Visual Studio ile Yayınlama

Sonra, Tim ASP.NET Core API'sini Visual Studio'dan nasıl yayınlayacağını gösterir:

  1. Projeye sağ tıklayın → Yayınla

  2. Hedef olarak Klasör'ü seçin

  3. Yayımlama modunu "Serbest" olarak seçin

  4. Dağıtım türünü Çerçeve Bağımlı olarak ayarlayın (uygun .NET sürümleri önceden yüklenmiş ortamlarda)

.NET yüklü olmayan bir Linux barındırma ortamına dağıtım yapılıyorsa, Tim kendine yeten bir dağıtıma geçiş yapmayı öneriyor. Bu, gereken .NET Core runtime'ını paketler, uzaktan sunucularda uyumluluğu güvence altına alır.

Yayınlama, barındırma sağlayıcınıza doğrudan yüklenebilen bir dizi dosya oluşturur.

Web Sunucusuna Dosya Yükleme

Tim, varsayılan dosyaları silmek ve yayınlanan klasörü yüklemek için kontrol panelindeki dosya yöneticisini kullanır. İçeriği doğrudan kendi makinesinden VPS dosya sistemine sürükler. Yüklendikten sonra, alan adı URL'sine gitmek, uygulamanın canlı olduğunu gösteren basit bir "Hello World" mesajı döndürür.

Daha gelişmiş kullanıcılar için, barındırma hizmetinizin yeteneklerine bağlı olarak GitHub Actions veya webdev kullanarak dağıtımı otomatikleştirmeyi öneriyor.

API Uç Noktalarını Test Etme

Ardından, Tim C# API'sindeki tanımlı bir rota olan /courses'e gider. Bu, ASP.NET Core uygulamasının doğru çalıştığını kanıtlayan JSON verileri döndürür. Bu aynı zamanda backend mantığının, yönlendirmenin ve ara yazılımın web sunucusunda doğru bir şekilde yönetildiğini doğrular.

Swagger UI'yi Düzeltme (Scaler/V1)

Birçok .NET geliştiricisinin karşılaştığı yaygın bir sorun, Swagger UI'nin (API belgelemesi için kullanılır) yalnızca geliştirme modunda çalışmasıdır. Tim, projedeki yapılandırma dosyasının Swagger'ı üretimde devre dışı bıraktığını belirliyor.

Swagger'ı canlı ortamlarda da erişilebilir yapmak için yapılandırma dosyasında OpenAPI ayarını günceller— canlı ortamda hata ayıklama ve test için gereklidir.

Ana Dizin'i Swagger UI'ye Yönlendirme

Ana sayfada "Hello World" göstermek yerine, Tim API'nin ana uç noktasında bir yönlendirme ekler. Artık https://thesampleapi.com adresine gitmek, kullanıcıları otomatik olarak Swagger belgesine yönlendirir. Bu küçük değişiklik, kullanılabilirliği artırır ve geliştiricilerin API özelliklerine hızlıca erişmesine yardımcı olur.

Güncellemelerden Sonra Yeniden Dağıtım

Yeni değişiklikleri yansıtmak için Tim, yayınlama-yükleme sürecini tekrarlar. VPS dosya dizinini temizler ve yeni build'i yeniden yükler. Bu yöntemin kısa süreli bir kesintiye neden olduğunu, ancak geliştirme aşamasında kabul edilebilir olduğunu açıklar.

Yüksek trafikli üretim uygulamaları için Tim, kesintisiz dağıtım için Azure gibi daha gelişmiş hosting planlarında bulunan bir aşama yuvası kullanmayı önerir. Bu, kesintisiz dağıtıma olanak sağlar.

Son Doğrulama ve API Testi

Güncellenmiş API yayınlandığında, Tim onaylar:

  • SSL sertifikası etkin

  • Uç noktalar doğru veri döndürüyor

  • Swagger UI /scaler/v1 adresinden kullanılabilir

Dağıtım başarılı. Geliştiriciler artık bu canlı API'ye Angular, React, Blazor veya hatta masaüstü uygulamaları gibi herhangi bir frontend'den karşı test edebilir.

Sonraki Adımlar?

Tim, geliştiricileri farklı frontendlere sahip örnek API'yi keşfetmeye teşvik ederek bitirir. İster dinamik web siteleri inşa ediyor, ister entegrasyonları test ediyor, ister klasik ASP veya Visual Basic ile denemeler yapıyorsanız, bu dağıtılmış API harika 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, alan adı kurulumundan son dağıtıma kadar tüm yolculuğu anlatıyor—pratik ipuçları ve en iyi uygulamaları sunuyor.

VPS hosting planlarına geçiş yapmayı düşünüyorsanız, geleneksel web barındırma şirketlerinin gizli ücretlerinden kaçınmak istiyorsanız veya paylaşımlı hostingin ötesinde denemeler yapmak istiyorsanız, bu tutorial sizi doğru yola sokar.

İlk API'nizi başlatıyor ya da dotnet hizmet barındırmayı keşfediyor olun, bu kılavuz dinamik ve ölçeklenebilir web uygulamaları oluşturmak için netlik, kontrol ve güçlü özellikler sunar.

Hero Worlddot related to API'nin bir VPS'ye Dağıtılması
Hero Affiliate related to API'nin bir VPS'ye Dağıtılması

Sevdiğiniz Şeyleri Paylaşarak Daha Fazla Kazanın

.NET, C#, Java, Python veya Node.js üzerinde çalışan geliştiriciler için içerik oluşturuyor musunuz? Uzmanlığınızı ek gelire dönüştürün!

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara