Home / Blog

Hoe u dotnet uitvoert in Ubuntu 20.04 LTS

SplatDev · January 2, 2024 ·3 min leestijd

dotnet uitvoeren in Ubuntu 20.04 LTS en aaPanel

Umbraco uitvoeren in Ubuntu

Een .NET-applicatie op Linux installeren kan om verschillende redenen voordelig zijn:

  1. Platformonafhankelijke compatibiliteit: .NET Core, de platformonafhankelijke versie van .NET, maakt het mogelijk om applicaties op meerdere besturingssystemen uit te voeren, waaronder Linux. Dit vergroot het bereik en de bruikbaarheid van de applicatie in verschillende omgevingen.
  2. Prestaties en betrouwbaarheid: Linux staat bekend om zijn prestaties en stabiliteit. Het uitvoeren van een .NET-applicatie op Linux kan van deze eigenschappen profiteren, wat mogelijk leidt tot betere applicatieprestaties en betrouwbaarheid.
  3. Open source en community-ondersteuning: Zowel Linux als .NET Core zijn open source, wat betekent dat ze profiteren van robuuste community-ondersteuning en voortdurende verbeteringen. Dit kan leiden tot betere beveiliging, meer functies en snellere bugfixes.
  4. Kostenefficiëntie: Linux kan een kostenefficiëntere optie zijn voor het hosten van applicaties, met name voor bedrijven of ontwikkelaars die hun operationele kosten willen verlagen. Veel Linux-distributies zijn gratis beschikbaar, wat de kosten voor softwarelicenties verlaagt.
  5. Integratie met bestaande Linux-infrastructuur: Voor organisaties die al Linux gebruiken voor hun servers of andere onderdelen van hun IT-infrastructuur, kan het installeren van .NET-applicaties op Linux zorgen voor naadloze integratie en beheer binnen hun bestaande ecosysteem.
  6. Moderne ontwikkelpraktijken: .NET Core op Linux ondersteunt moderne ontwikkelpraktijken en -tools, waaronder containerisatie met Docker, dat native wordt ondersteund in Linux. Dit kan efficiëntere ontwikkel-, test- en implementatieprocessen mogelijk maken.
  7. Beveiliging: Linux wordt vaak geprezen om zijn beveiligingsfuncties. Het uitvoeren van .NET-applicaties op Linux kan van deze beveiligingsaspecten profiteren en biedt een veiligere omgeving voor applicaties.

Samengevat kan het installeren van een .NET-applicatie op Linux voordelen bieden op het gebied van compatibiliteit, prestaties, kosten, integratie, moderne ontwikkelpraktijken en beveiliging, waardoor het een aantrekkelijke optie is voor veel ontwikkelaars en organisaties.

Volg de beschreven stappen om dit te bereiken:

aaPanel installeren
Optioneel maar handig voor onderhoud:

Het installatiescript wordt binnen enkele minuten voltooid en installeert het hostingpaneel, dat u waardevolle tools biedt om uw sites te onderhouden.

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh
# Get Ubuntu version
declare repo_version=$(if command -v lsb_release &> /dev/null; then lsb_release -r -s; else grep -oP '(?<=^VERSION_ID=).+' /etc/os-release | tr -d '"'; fi)
# Download Microsoft signing key and repository
wget https://packages.microsoft.com/config/ubuntu/$repo_version/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
# Install Microsoft signing key and repository
sudo dpkg -i packages-microsoft-prod.deb
# Clean up
rm packages-microsoft-prod.deb
# Update packages
sudo apt update
sudo apt-get update && sudo apt-get install -y apt-transport-https aspnetcore-runtime-6.0
sudo apt-get update && sudo apt-get install -y apt-transport-https aspnetcore-runtime-7.0
sudo apt-get update && sudo apt-get install -y apt-transport-https aspnetcore-runtime-8.0
sudo nano /etc/systemd/system/kestrel-helloapp.service
[Unit]
Description=Example .NET Web API App running on Linux
[Service]
WorkingDirectory=/var/www/helloapp
ExecStart=/usr/bin/dotnet /var/www/helloapp/helloapp.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=www
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
sudo systemctl enable kestrel-helloapp.service
sudo systemctl start kestrel-helloapp.service
sudo systemctl status kestrel-helloapp.service

En zorg ervoor dat u de reverse proxy instelt op de poort die u voor de dotnet-app hebt geconfigureerd (standaard is 5001)

Op dit punt kunt u uw website al implementeren en ernaartoe bladeren.

Als u MSSQL met Ubuntu gaat gebruiken, zorg er dan voor dat u het installeert volgens deze stappen:

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
sudo apt-get update
sudo apt-get install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
systemctl status mssql-server --no-pager
sudo ufw allow 1433
ufw deny 1433
ufw deny 22
ufw deny 21
ufw deny 20

Want more articles like this?

Subscribe for updates on .NET, Umbraco, nopCommerce, and software engineering.

Get in touch →