Earn More by Sharing What You Love
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Tim Corey
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy