İçeriğe geç
Aydınwebs
Blog

Blog

Ubuntu bir sunucuda birden fazla .NET Core tabanlı web sitesi barındırma rehberi

Ubuntu bir sunucuda birden fazla .NET Core tabanlı web sitesi barındırmak, lisans maliyetlerini azaltmak için harika bir seçenektir. İşte bunu gerçekleştirmek için adım adım bir rehber:

Üzeyir AYDIN2 dk okuma
Ubuntu bir sunucuda birden fazla .NET Core tabanlı web sitesi barındırma rehberi

1. Sunucu Hazırlığı

  1. Ubuntu Sunucusunu Kurun:

    • Uygun bir Ubuntu sürümünü (örneğin Ubuntu 20.04 LTS) yükleyin.
    • Güncellemeleri yapın:
      sudo apt update && sudo apt upgrade -y
  2. Gerekli Paketleri Kurun:

    • curl, wget, ve unzipgibi temel araçları yükleyin:
      sudo apt install curl wget unzip -y

2. .NET SDK ve Runtime Yükleme

  1. Microsoft Paket Deposu Ekleyin:

    wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt update
  2. .NET SDK ve Runtime'ı Yükleyin:

    • Yalnızca çalıştırmak için Runtime yeterlidir:
      sudo apt install -y aspnetcore-runtime-7.0
    • Geliştirme de yapacaksanız SDK'yı yükleyin:
      sudo apt install -y dotnet-sdk-7.0

3. Uygulamaları Sunucuya Yükleme

  1. Web Sitelerini Yayınlama:

    • Projenizi dotnet publishkomutuyla yayınlayın:
      dotnet publish -c Release -o ./publish
  2. Yayınlanan Dosyaları Sunucuya Kopyalayın:

    • scp veya bir FTP istemcisi ile dosyaları sunucuya aktarın:
      scp -r ./publish user@your-server-ip:/var/www/site1

4. Reverse Proxy Yapılandırması (NGINX veya Apache)

  1. NGINX'i Yükleyin:

    sudo apt install nginx -y
  2. NGINX Konfigürasyonu Oluşturun:

    • Her site için ayrı bir konfigürasyon dosyası yapın:
      sudo nano /etc/nginx/sites-available/site1.conf
    • İçeriği aşağıdaki gibi yapın:
      server { listen 80; server_name site1.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_cache_bypass $http_upgrade; } }
  3. Konfigürasyonu Aktif Hale Getirin:

    sudo ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/ sudo systemctl restart nginx

5. Sistem Servisi Olarak .NET Uygulamasını Çalıştırma

  1. Systemd Servis Dosyası Oluşturun:

    sudo nano /etc/systemd/system/site1.service
    • Aşağıdaki içeriği ekleyin:
      [Unit] Description=Site1 .NET App After=network.target [Service] WorkingDirectory=/var/www/site1 ExecStart=/usr/bin/dotnet /var/www/site1/yourapp.dll Restart=always RestartSec=10 SyslogIdentifier=site1 User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production [Install] WantedBy=multi-user.target
  2. Servisi Etkinleştirin ve Başlatın:

    sudo systemctl enable site1.service sudo systemctl start site1.service

6. Alan Adlarını Yönlendirme ve SSL Sertifikası

  1. Alan Adlarını Sunucuya Yönlendirin:

    • DNS ayarlarında sunucunun IP adresine yönlendirin.
  2. SSL Sertifikası Alın (Let's Encrypt):

    sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d site1.com -d www.site1.com
    • Otomatik yenileme için bir cron job oluşturun:
      sudo crontab -e
      Ve şunu ekleyin:
      0 3 * * * certbot renew --quiet

7. Yedekleme ve İzleme

  1. Yedekleme Yapın:

    • Veritabanı ve uygulama dosyalarını düzenli olarak yedekleyin.
  2. Log İzleme:

    • Uygulama ve NGINX loglarını takip edin:
      sudo journalctl -u site1.service sudo tail -f /var/log/nginx/access.log
Paylaş

Yazar

Üzeyir AYDIN

Teklif Al

İlgili Yazılar

Kurumsal Uçtan Uca Yazılım Çözümleri | aydinwebs.com .NET Core & PostgreSQLBlog
4 dk okuma

Kurumsal Uçtan Uca Yazılım Çözümleri | aydinwebs.com .NET Core & PostgreSQL

Günümüz iş dünyasında, teknoloji yalnızca bir destek aracı değil; rekabet avantajının anahtarıdır. Kurumsal firmalar, karmaşık iş süreçlerini yönetmek, verimliliği artırmak ve müşteri memnuniyetini maksimum seviyeye çıkarmak için artık uçtan uca (end-to-end) yazılım çözümlerine yöneliyor. aydinwebs.com olarak, .NET Core, Flutter, React Native, SQL ve PostgreSQL teknolojileriyle geliştirdiğimiz özel yazılımlar, işletmelerin dijital dönüşüm yolculuğunda en güçlü ortağı oluyor.

Devamını Oku