Shared hosting, birden fazla müşterinin aynı fiziksel sunucuyu paylaştığı barındırma modelidir. Ucuz, kurulumu kolay — ama kısıtlı.
SSH erişimi yok, root yetkin yok, istediğin servisi kuramazsın. Dosya yönetimi FTP ile, uygulama yönetimi Plesk veya cPanel gibi paneller üzerinden yapılır.
ASP.NET Core uygulamalarını shared hosting'de çalıştırmak mümkün — ama birkaç önemli noktayı bilmek gerekir.
Büyük bir proje birden fazla ASP.NET Core uygulamasından oluşabilir. Her subdomain ayrı bir uygulama olabilir:
Bu uygulamaların tümü aynı IIS app pool'u paylaşıyorsa, outofprocess zorunludur. Bir uygulamanın çökmesi diğerlerini etkilememeli.
Migration konusuna da dikkat etmek gerekir. Program.cs'te MigrateAsync() kullanıyorsan, ilk açılışta birkaç saniyelik gecikme yaşanabilir — bu normal.
Her deploy öncesi şu listeyi gözden geçirmek, sonradan saatlerce sürecek hata ayıklamayı önler:
Shared hosting'de production deploy yaparken karşılaşılan en yaygın hatalar ve çözümleri:
1. Plesk subscription plan çakışması
Yeni subscription oluştururken disk_space, mssql_dbase_space veya total_mboxes_quota kotaları çakışabilir. Çözüm: subscription planı olarak "hiçbiri" seç (Custom mod), kotaları tek tek Sınırsız yap.
2. Connection string key eşleşmemesiGetConnectionString("database") yazıp env var'a ConnectionStrings__DefaultConnection koymak — eşleşmez, null döner, bağlantı kurulamaz. Key'in sonu C# kodu ile birebir aynı olmalı.
3. TrustServerCertificate eksikliği
Bağlantı kurulur ama login sırasında SqlException fırlar. Connection string'e TrustServerCertificate=True ekle.
4. appsettings.Production.json publish'e gitmiş
CopyToPublishDirectory=Never ayarı unutulmuşsa, bu dosya sunucuya gider. Sırların publish çıktısında olmaması için bu ayarı kontrol et.
Deploy tamamlandıktan sonra uygulamanın gerçekten çalışıp çalışmadığını doğrulamak için sıralı test adımları:
/api/ping gibi basit bir endpoint çağır. [AllowAnonymous] olmalı.