Blog'a Dön

ASP.NET Core Hosting Rehberi: Windows ve Linux Deploy (2026)

ASP.NET Core vs Framework karşılaştırması, IIS ve Kestrel yapılandırması, Linux deploy, Docker ile konteyner ve CI/CD pipeline.

asp.net.net coreiiskestreldockerwindows hosting

ASP.NET, Microsoft'un web uygulama geliştirme framework'üdür. ASP.NET Core ile çapraz platform desteği kazanmış olup, yüksek performanslı web API'leri ve web uygulamaları geliştirmek için tercih edilir.

ASP.NET Core vs ASP.NET Framework

ÖzellikASP.NET CoreASP.NET Framework
PlatformWindows, Linux, macOSSadece Windows
PerformansÇok yüksek (Kestrel)Orta (IIS bağımlı)
KonteynerDocker desteğiSınırlı
MimariModüler, hafifMonolitik
GüncellikAktif geliştirmeBakım modunda

ASP.NET Core Uygulamasını VDS'ye Deploy Etme

Linux Sunucu (Nginx Reverse Proxy)

# .NET 8 SDK kurulumu (Ubuntu)
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh --channel 8.0

# Uygulamayı yayınla
dotnet publish -c Release -o /var/www/myapp

# Systemd service oluştur
# /etc/systemd/system/myapp.service
[Unit]
Description=My ASP.NET Core App
After=network.target

[Service]
WorkingDirectory=/var/www/myapp
ExecStart=/usr/bin/dotnet /var/www/myapp/MyApp.dll
Restart=always
RestartSec=10
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=ASPNETCORE_URLS=http://localhost:5000

[Install]
WantedBy=multi-user.target

Nginx Reverse Proxy

# /etc/nginx/sites-available/myapp
server {
    listen 80;
    server_name ornek.com;

    location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_cache_bypass $http_upgrade;
    }
}

Windows Sunucu (IIS)

  1. IIS'i kurun: Install-WindowsFeature -Name Web-Server
  2. .NET Runtime Hosting Bundle'ı indirip kurun
  3. IIS'de yeni bir site oluşturun
  4. Application Pool'u "No Managed Code" olarak ayarlayın

Docker ile Deploy

# Dockerfile
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 8080

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY . .
RUN dotnet publish -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "MyApp.dll"]

Docker rehberimizde konteyner kullanımı hakkında detaylı bilgi bulabilirsiniz.

ASP.NET hosting için VDS Sunucu (Windows veya Linux) paketlerimizi inceleyin.